Linq选择字段

Tom*_*len 2 c# linq

只是试验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");
    }
Run Code Online (Sandbox Code Playgroud)

工作正常,但我似乎只能返回1个字段,或者所有字段.我如何选择说,p.ID而且p.title,没有别的?

Bro*_*ass 8

你需要一个匿名类型的投影只返回你想要的"部分":

 var q = from p in db.tblBlogEntries select new { p.ID, p.Title };
Run Code Online (Sandbox Code Playgroud)

或者,您也可以定义一个只包含所需属性子集的新类.如果要返回投影的实例,这可能是有益的,因为匿名类型只能在本地范围内使用:

 var q = from p in db.tblBlogEntries 
         select new BlogTitleAndId() { ID = p.ID, Title = p.Title };
Run Code Online (Sandbox Code Playgroud)