Как получить некоторые столбцы сущности в инфраструктуре сущности?

c# entity-framework-6 linq sql

Вопрос

Предположим, у меня есть таблица с более чем 1000000 столбцами. Когда я использую LINQ To SQL и Entity-Framework все запросы будут записываться в c #, как показано ниже:

EFContext.MyTableName.Where(row=>row.column1==someValue)
                     .Select(...)
                     .FirstOrDefault(...)
                     .Any(...)
                     ...

Как получить только и только некоторые столбцы сущности? Есть ли способ получить только столбцы 1 и 2 и 3 среди столбцов 1000000?

Внимание:

Тип приведенных данных должен сохраняться после выбора, например, если без фильтрации некоторых столбцов тип результата является Type1, очень важно, чтобы после фильтрации тип результата был Type1, но значение тех свойств Type1, которые были отфильтрованы, должно быть null или default.

Популярные ответы

Чтобы получить только несколько ROWS, вы можете использовать:

.Take(3);

Чтобы получить только некоторые столбцы, вы можете использовать:

.Select(x => new MyType() { Column1 = x.Column1, Column2 = x.Column2 })

Обратите внимание, что объект теперь не привязан к objectcontext, поэтому SaveChanges () не будет затронут. Но вы выберете только несколько столбцов, и тип все равно будет правильным.

Чтобы получить собственные значения по умолчанию вместо стандартных значений по умолчанию для типов переменных, вы можете изменить тип конструкторов, чтобы установить значения по умолчанию.



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему