2013-07-12 76 views
1

我有代碼根據搜索條件檢索實體類中的所有列。但我想要一個特定的列值而不是完整的列值。如何使用實體框架獲取單個列?

我的代碼 -

Main main; 
main = repo.Find<Main>(m => m.Code == criteria.code); 

其中Main是實體類,repo是倉庫和criteria是搜索條件一流。現在我想要獲取特定的列名稱,例如id。我怎樣才能做到這一點?

回答

3
var column = 
    from m in repo 
    where m.Code == criteria.code 
    select m.SomeColumn; 
6

假設Find是返回一個IQueryable<T>,那麼你可以使用的投影:

repo.Find<Main>(m => m.Code == criteria.code).Select(m => m.Column); 
+0

不是它沒有返回'IQueryable ',它返回的'Single' – Sandy

+0

您需要修改存儲庫,否則投影將不會在數據庫級完成,這可能是也可能不是問題。 – devdigital