//This works, but seems incorrect to me
Object selection = db.ExampleTable
.Where(s => s.Id == id)
.Select(s => new { s.Id, s.PropIWantToShow })
.SingleOrDefault();
//This seems correct, but does not work
Object selection = db.ExampleTable
.SingleOrDefault(s => s.Id == id)
.Select(s => new { s.Id, s.PropIWantToShow });
db
- это наш контекст данных Entity Framework.Возврат Выбранные свойства одного объекта в методе EF Синтаксис
Моя цель - выбрать одну запись, соответствующую предоставленному id в ExampleTable. Если запись не найдена, она должна вернуть значение null. Однако EF, похоже, не позволяет мне выбрать один объект, а затем возвращать только определенные свойства. Как это сделать или это первый пример, который я дал правильно?
я проверить этот вопрос: select properties of entity ef linq:
К сожалению, вы не можете условно загружать свойства соответствующего объекта - вы либо загружать весь объект двери, или не включают в себя эту сущность.
Но ответ просто не кажется правильным, но, очевидно, «кажется» является очень слабым утверждением.
Выбор FIrst достаточно хорош, за исключением объявления переменной как объекта. Вам лучше использовать 'var' для анонимных типов –
. Ваша проблема заключается в том, что' SingleOrDefault' возвращает элемент, а не 'IEnumerable', поэтому вы не можете использовать LINQ против него. – Jonesopolis
. Как вы думаете, что неправильно с первой частью кода? –