Проекции Entity Framework - PullRequest
       4

Проекции Entity Framework

5 голосов
/ 12 февраля 2011

Мы изучаем Entity Framework, чтобы выяснить, отвечает ли он нашим конкретным потребностям.Вот сценарий, который меня интересует:

У меня есть большая таблица (назовем ее VeryWideRecord), которая имеет много столбцов и имеет соответствующий бизнес-объект (он также называется VeryWideRecord).Я хотел бы иметь возможность запрашивать в моей базе данных бизнес-объект VeryWideRecord, но иметь значения только для определенных столбцов, возвращаемых базовым SQL.Могу ли я сделать это с помощью Entity Framework?

Я не уверен, можно ли это сделать с помощью функции разбиения таблиц Entity Framework, поскольку приложение должно иметь возможность (во время выполнения) изменять столбцы, которыепросил.Причина этого заключается в том, что мы пытаемся минимизировать объем информации, передаваемой по проводам.

Я вижу, как это можно сделать с помощью NHibernate ( пример ), но как я могу это сделать с помощью Entity Framework?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2011

как то так (в VB.NET:

Dim pl As New List(Of VeryWideRecord)(
     (From p In db.VeryWideRecords 
      Select New With {.RecID = p.RecID}
     ).ToList().Select(
       Function(r)
         Return New VeryWideRecord With {.RecID = r.RecID}
       End Function))

С этим у вас есть некоторая проверка во время компиляции. Но если вы хотите сделать это действительно динамически, eSQL может быть более подходящим. Кроме того, дело не в Entity Framework, а в лямбда-выражении.

0 голосов
/ 12 февраля 2011

Похоже, что вы можете достичь того, что вы ищете, с помощью сущности SQL. Следующая ссылка:

http://msdn.microsoft.com/en-us/library/bb738683.aspx

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