[英]Linq to SQL select multiple columns
我只想使用LINQ从MSSQL DB中选择2列。
SQL应该是
select table.col1,table.col2 from table
我试过了
IList<string> myResults =
(
from data in dbconn.table
where table.col5 == null
select new {
col1=data.Id.ToString(),
col2=data.col2
}
).Take(20).ToList();
但这没用。
它说
cannot convert type list <AnonymousType#1> to Ilist<string>
您基本上尝试使用匿名类型列表的条目填充字符串列表,这将无效。
你尝试过这样的事吗?:
var list = from data in dbconn.table
where table.col5 == null
select new {
col1=data.Id.ToString(),
col2=data.col2
}
然后,您可以轻松地使用循环中的条目
foreach(var element in list) {
//...
}
或者像列表一样
list.Take(20).ToList();
首先,一个字符串List<string>
( List<string>
)只能在一个元素中只有一个字符串而不是两个(你在这里尝试做什么)将类型更改为var会修复你的异常,但不确定是否是你想要的解决方案
var myResults =
(
from data in dbconn.table
where table.col5 == null
select new {
col1=data.Id.ToString(),
col2=data.col2
}
).Take(20).ToList();
您可以使用linq选择多个字段选择如上所示,在各种示例中,它将作为匿名类型返回。 如果你想避免这种匿名类型,这是一个简单的技巧。
var items = myResults.Select(f => new [] { f.Col1, f.Col2 }).SelectMany(item => item).Distinct();
我认为这解决了这个问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.