Получить связанный объект с помощью структуры объекта - PullRequest
0 голосов
/ 29 ноября 2011

Есть ли в Entity Framework метод, позволяющий нам узнать, связаны ли два объекта или нет?

Ответы [ 2 ]

0 голосов
/ 29 ноября 2011

Вы можете использовать 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

0 голосов
/ 29 ноября 2011

Допустим, все ваши переменные привязаны к одному и тому же контексту.Вы хотите знать, является ли ваша переменная bar1 одним из значений бара в коллекции foo.bars.Вы можете просто сделать:

theyAreEqual = foo.bars.Contains(bar1);

Если ваши переменные сущности не привязаны к контексту, то у вас могут быть разные переменные, которые логически ссылаются на одни и те же записи БД, но на самом деле являются указателями на разные предметов.Итак, вам нужно сравнить ключевые значения:

theyAreLogicallyEqual = foo.bars.Select(b => b.BarId).Contains(bar1.BarId);

Я предполагаю, что вы знаете об этом, но для других читающих этот ответ, разница в значении и равенстве ссылочного типа здесь важно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...