【发布时间】:2012-05-20 14:20:12
【问题描述】:
我是实体框架的新手,目前正在努力使用这种编程范式。我有这个查询,我想用 Entity SQL 编写。
SELECT f.id, f.personName, c.Category, j.busCode, s.description, f.StartDate, (SELECT COUNT(*) FROM Analysis WHERE id = f.id) As numOfAnalysis
FROM forms f
INNER JOIN Jobs j ON f.id = j.id
INNER JOIN category c ON j.categoryid = c.categoryid
INNER JOIN stage s ON f.stageid = s.stageid
WHERE j.busCode NOT IN ('xyz', 'YYY')
ORDER BY startDate
我可以从两个表中获取记录,但是当我使用导航属性添加第三个表时,我得到错误表类别未在当前上下文中加载。我正在使用.net 3.5。请记住,EDM V2 没有外键,我认为遍历表关系的唯一方法是导航属性。
任何帮助将不胜感激。
谢谢
Coder74
【问题讨论】:
-
为什么不向我们展示您的代码?我们怎么可能猜到这条消息的原因?
-
除了上面的评论——为什么还需要使用Entity SQL而不是Linq To Entities?
-
如果你使用 .Net 3.5 linq-to-sql 可能是更好的选择。但是,导航属性并不是唯一的方法。您始终可以使用 linq join 语句。