是否有任何可能從.Where
聲明只獲得一列?例如 - ID
。實體 - 如何獲得只有一列
List<testB> test = db.testB.Where(x => x.UserID == userId).ToList();
在這裏,我得到所有的邀請testB
。
而我只想返回List<int>
與testB.ID
而不是List<testB>
。我怎樣才能做到這一點?
是否有任何可能從.Where
聲明只獲得一列?例如 - ID
。實體 - 如何獲得只有一列
List<testB> test = db.testB.Where(x => x.UserID == userId).ToList();
在這裏,我得到所有的邀請testB
。
而我只想返回List<int>
與testB.ID
而不是List<testB>
。我怎樣才能做到這一點?
db.testB.Where(x => x.UserID == userId).Select(x => x.ID).ToList();
應該返回一個List<int>
它將返回'x.ID'類型的'List'。 – 2013-04-29 17:44:52
@retailcoder它暗示在問題ID是int類型。 – 2013-04-29 20:21:21
嘗試使用。選擇這樣的
var test = db.testB.Where(x => x.UserID == userId)
.Select(a => new {
column = a.column
}).ToList();
這將創建一個匿名類型的類只能在屬性。試試看。
這將無法正常工作,因爲您已在Select位置之前完成選擇 - UserId列在選擇部件後不存在。通常你會在'Select'之前做'Where',就像在Steven的回答中 – Richard 2013-04-29 17:42:08
你是對的。我剛剛更新了答案。它現在應該工作。 – RaulMonteroC 2013-04-29 17:49:51
這不是問題的有效答案。它不會返回一個'List
在@ StevenVondruska的回答中,使用Linq的'Select'方法將_project_(請參閱Select方法的工具提示幫助)選擇到'int'列表中。 – 2013-04-29 17:41:45