只是试验Linq:
DataClassesDataContext db = new DataClassesDataContext();
var q = from p in db.tblBlogEntries select p;
foreach (var customer in q)
{
Response.Write(customer.ID + " " + customer.title + "\n");
}
工作正常,但我似乎只能返回1个字段,或者所有字段。如何选择发言,p.ID
和p.title
,还有其他内容?
答案 0 :(得分:8)
您需要投放到anonymous type才能返回您想要的“部分”:
var q = from p in db.tblBlogEntries select new { p.ID, p.Title };
或者,您也可以定义一个只包含所需属性子集的新类。如果要返回投影的实例,这可能是有益的,因为匿名类型只能在本地范围内使用:
var q = from p in db.tblBlogEntries
select new BlogTitleAndId() { ID = p.ID, Title = p.Title };
答案 1 :(得分:1)
而不是“选择p”
使用:
var q = from p in db.tblBlogEntries select new { Column1 = p.Column1, Column2 = p.Column2 };
新的{}创建了一个内联类,因此您可以选择所需的列。
答案 2 :(得分:1)
像这样......
DataClassesDataContext db = new DataClassesDataContext();
var q = from p in db.tblBlogEntries select new { Id = p.ID, Title = p.title };
foreach (var customer in q)
{
Response.Write(customer.ID + " " + customer.title + "\n");
}
答案 3 :(得分:1)
var q = from p in db.tblBlogEntries select new {p.ID, p.Title}
答案 4 :(得分:0)
这个怎么样:
DataClassesDataContext db = new DataClassesDataContext();
var q = from p in db.tblBlogEntries select new { ID = p.ID, title = p.title };
foreach (var customer in q)
{
Response.Write(customer.ID + " " + customer.title + "\n");
}
此部分new { ID = p.ID, title = p.title }
创建一个包含成员ID
和title
的匿名类。您可以为任何列添加成员,并自动推导出类型。尽管如此,获得所有领域并不是什么大不了的事。 This article提供了更多信息和类似的示例。