在CRM UI中创建2个联系人,一个具有FirstName“fn1”,LastName为“ln1”,第二个具有FirstName“fn2”,LastName为“ln2”
CRMServerContext是OrganizationServiceContext。
List<Contact> firstNameContacts = (from c in CRMServerContext.CreateQuery<Contact>()
where c.FirstName == "fn1" || c.FirstName == "fn2"
select c).ToList();
foreach (var c in firstNameContacts)
{
bool attached = CRMServerContext.IsAttached(c);
}
List<Contact> lastNameContacts = (from c in CRMServerContext.CreateQuery<Contact>()
where c.LastName == "ln1" || c.LastName == "ln2"
select c).ToList();
foreach (var c in firstNameContacts)
{
bool attached = CRMServerContext.IsAttached(c);
}
在第一个foreach中,“附加”对于返回的每个联系人都是如此,这些联系人是在UI中创建的2。
接下来检索相同的两个联系人,但使用LastName作为条件。
这导致第二个foreach报告“附加”是假的,即使它正在迭代通过与第一个相同的列表并且没有对列表进行任何修改?
两个查询返回两个联系人,上下文是否仍然报告“附加”为真?