Как мне вернуть список строк из отношения LINQ to Entities many-many? - PullRequest
0 голосов
/ 24 февраля 2010

У меня есть модель представления, которая должна инкапсулировать пару отношений «многие ко многим».

У меня есть запрос LINQ to Entites, который возвращает соответствующий список, но не может понять, как вернуть список объектов.

У меня есть стол Foo и стол Bar. Bar имеет FK to Foo.ID и строку описания. Я хочу создать FooViewModel с Foo.ID, а также список всех описаний Bar.Description.

  public class FooViewModel {
    public int ID {get; set; }
    public IEnumerable Descriptions { get; set; }
  }


  var all = from f in ctx.Foo.Include("Bar")
            select new FooViewModel
            {
              ID = f.ID,
              Descriptions = <insert magic here>
            };

Что мне не хватает?

1 Ответ

1 голос
/ 24 февраля 2010

В Linq to Sql объекты Foo будут иметь свойство "Bar" (или "Bars", если он один-ко-многим), поэтому оно будет просто:

var all = from f in ctx.Foo
            select new FooViewModel 
            { 
              ID = f.ID, 
              Descriptions = f.Bars;
            }; 

Мне сказали, что в Linq-to-Entity он работает так же, при условии, что, хотя это свойство автоматически создается в L2S, есть некоторая явная задача, которую вы должны выполнить вручную, чтобы L2e его создал.

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