Entity Framework: поиск значений EntityKey для одного ко многим - PullRequest
0 голосов
/ 13 июля 2009

В EF можно написать следующую строку:

orderLine.OrderReference.EntityKey.EntityKeyValues[0].Value

, который приводит к идентификатору связанной OrderReference.

Каким было бы решение, если бы я хотел знать идентификаторы строк заказа, связанных с заказом?

1 Ответ

1 голос
/ 13 июля 2009

Точка линии, которую вы показываете, состоит в том, чтобы получить идентификатор без загрузки orderLine.Order. Но вы не можете получить идентификаторы коллекции без загрузки. Так что просто посмотрите на свойство ID напрямую или из контекста.

// from context
var lineIds = (from o in Context.Orders
               where o.Id = someId
               from l in o.Lines
               select l.Id).AsEnumerable();

// from loaded order
if (!order.Lines.IsLoaded) order.Lines.Load();
var lineIds = from l in order.Lines
              select l.Id;
...