0
我在使用实体框架v6将T-SQL查询转换为linq时遇到了一些麻烦。实体框架加入多对多
我工作的T-SQL查询看起来是这样的:
SELECT
[Person].*, [Person_Firm_PersonResponsibility].*
FROM
[Person]
JOIN
[Person_Firm_PersonResponsibility] ON [Person].ID = [Person_Firm_PersonResponsibility].PersonID
WHERE
[Person_Firm_PersonResponsibility].FirmID = 389
AND [Person].ID = 330
在LINQ我有以下几点:
using (var ctx = new MyContext())
{
var result = (from p in ctx.People
join r in ctx.Person_Firm_PersonResponsibility on p.ID equals r.PersonID
where r.FirmID == firmId && p.ID == personId
select p)
.Include("Person_Firm_PersonResponsibility.PersonResponsibility")
.Include("Person_Firm_PersonResponsibility")
.FirstOrDefault();
return result;
}
我的目标是只得到与责任特定人的特定公司(公司ID)公司,人员和责任之间的关系是我所查询的多对多Person_Firm_PersonResponsibility
表。
查询“有效”的意思是我得到了这个人,但它包括他/她对于任何公司的所有责任,而不是具体公司(firmId)我试过删除.Include(“ ),但那并没有。
有谁知道如何做到这一点?
没有我的回答解决问题了吗? – 2014-11-11 09:56:30
对不起,延迟时间太长了,Steve:(是的,它的确解决了我的问题,非常感谢!:-) – 2014-12-02 07:51:53