我有代碼根據搜索條件檢索實體類中的所有列。但我想要一個特定的列值而不是完整的列值。如何使用實體框架獲取單個列?
我的代碼 -
Main main;
main = repo.Find<Main>(m => m.Code == criteria.code);
其中Main
是實體類,repo
是倉庫和criteria
是搜索條件一流。現在我想要獲取特定的列名稱,例如id
。我怎樣才能做到這一點?
我有代碼根據搜索條件檢索實體類中的所有列。但我想要一個特定的列值而不是完整的列值。如何使用實體框架獲取單個列?
我的代碼 -
Main main;
main = repo.Find<Main>(m => m.Code == criteria.code);
其中Main
是實體類,repo
是倉庫和criteria
是搜索條件一流。現在我想要獲取特定的列名稱,例如id
。我怎樣才能做到這一點?
var column =
from m in repo
where m.Code == criteria.code
select m.SomeColumn;
假設Find
是返回一個IQueryable<T>
,那麼你可以使用的投影:
repo.Find<Main>(m => m.Code == criteria.code).Select(m => m.Column);
你做的Select
方法查詢投影:
相關提示,你應該閱讀Getting Started with Entity Framework。它會給你一個查詢操作符的好主意。
不是它沒有返回'IQueryable',它返回的'Single' –
Sandy
您需要修改存儲庫,否則投影將不會在數據庫級完成,這可能是也可能不是問題。 – devdigital