【发布时间】:2011-07-19 15:25:44
【问题描述】:
我在查询这个问题时遇到了问题(我是 LINQ 的新手,请原谅我),我已经花了几个小时在网上搜索。在 SQL 中我只想这样做
SELECT c.Forname, c.Surname cg.Title, g.GroupName
FROM Contact c
inner join ContactGroup cg on cg.ContactID = c.ID
inner join Group g on cg.GroupNameID = g.ID
WHERE g.ID=1;
我尝试过,但失败了:
var result =
from c in cc.Contacts
from cg in c.ContactGroups
from g in cg.Group
where g.ID==1
select new
{
c.Forename,
c.Surname,
cg.Title,
g.GroupName
};
谁能告诉我我做错了什么或将我引导到某个地方以提供更多信息?
非常感谢。
【问题讨论】:
-
您遇到什么错误? IntelliSense 应该能够告诉您变量的类型,并且您应该能够从那里找出它
-
gc.Title 应该是 cg.Title。我改了,以为是错字。
-
您的查询结果不满意的原因是什么?它不编译吗?它会给出错误信息吗?乍一看,我觉得很合适。
-
在这种情况下不需要打开(和关闭),但除此之外它看起来不错。当然,在您遍历结果之前,它不会对数据库执行实际查询(可能通过调用 ToList() 之类的简单操作。您需要提供更多关于哪些不起作用的细节。跨度>
标签: c# linq ado.net-entity-data-model