我希望返回“商业”实体的图表。 Buiness实体有一个“联系人”的集合。
所以我基本上想要这个:
ctx.Business.Include("Contacts").Where(b => b.BusinessID == id).Single();
问题是我不想要业务的所有联系人。只是那些有ContactTypeID = x的人。我怎么能做到这一点?我想我可能需要将查询分为两步。 1获得业务,第2个获取联系人,然后以某种方式将它们附加到业务。
但是我正在使用STE t4模板,我无法弄清楚如何使用它。
我非常感谢任何帮助。
答案 0 :(得分:1)
这样做的一种方法是:
var biz = from b in ctx.Business where b.BusinessID == id
select new
{
Business = b,
Contacts = b.Contacts.Where(c => c.ContactTypeID == x)
}.ToList();
答案 1 :(得分:0)
我想我发现了怎么做:
var biz = ctx.Business.Where(b => b.BusinessID == id).Single();
var contacts = ctx.Contacts.Where(c => c.BusinessID==id && c.ContactTypeID==6);
foreach (var contact in contacts)
{
biz.Contacts.Add(contact);
}
我很担心以这种方式添加联系人,他们将被视为“新”项目,但更改跟踪已关闭,因此它们被视为未更改。我认为更改跟踪只有在反序列化后才会启用。