1

我希望返回一个“业务”实体的图表。商业实体有一个“联系人”集合。

所以我基本上想要这个:

ctx.Business.Include("Contacts").Where(b => b.BusinessID == id).Single();

问题是我不想要所有的业务联系人。只有那些有 ContactTypeID = x 的人。我怎样才能做到这一点?我想我可能需要将查询分成两个步骤。1 获取业务,2 获取联系人,然后以某种方式将它们附加到业务。

但我正在使用 STE t4 模板,我不知道如何使用它。

我将不胜感激任何帮助。

4

2 回答 2

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();
于 2010-08-17T04:48:33.777 回答
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);
}

我担心以这种方式添加联系人会被视为“新”项目,但更改跟踪已关闭,因此它们被视为未更改。我认为更改跟踪只有在它们被反序列化后才会打开。

于 2010-08-17T12:26:37.367 回答