实体框架中是否有一种方法可以让我们知道两个实体是否相关?
答案 0 :(得分:0)
假设你的变量都附加在同一个上下文中。您想知道bar1
变量是否是foo.bars
集合中的某个条形值。你可以这么做:
theyAreEqual = foo.bars.Contains(bar1);
如果你的实体变量没有附加到上下文,那么你可能有不同的变量在逻辑上引用相同的db记录,但实际上是指向不同对象的指针。因此,您需要比较关键值:
theyAreLogicallyEqual = foo.bars.Select(b => b.BarId).Contains(bar1.BarId);
我假设您知道这一点,但对于其他人来说,the differences in value and reference type equality在这里很重要。
答案 1 :(得分:0)
您可以使用Linq to Entities。您可以匹配entity1中的每个对象,并检查entity2中是否存在相应的数据/对象实体。
using (NorthwindEntities nw = new NorthwindEntities())
{
var cusotmers = from c in nw.Customers
where c.City == "London"
select c;
}
您可以在此处找到更多信息: http://msdn.microsoft.com/en-us/library/cc161164.aspx