我需要将linq查询结果转换为列表.我尝试了以下代码:
var qry = from a in obj.tbCourses
select a;
List<course> lst = new List<course>();
lst = qry.ToList();
Run Code Online (Sandbox Code Playgroud)
上面的代码发生以下错误:
Cannot implicitly convert type
System.Collections.Generic.List<Datalogiclayer.tbcourse> to
System.Collections.Generic.List<course>
Run Code Online (Sandbox Code Playgroud)
小智 24
List<course> = (from c in obj.tbCourses
select
new course(c)).toList();
Run Code Online (Sandbox Code Playgroud)
您可以直接在通话中将实体对象转换为列表.有方法将它转换为不同的数据结构(列表,数组,字典,查找或字符串)
小智 21
没必要做那么多的作品..
var query = from c in obj.tbCourses
where ...
select c;
Run Code Online (Sandbox Code Playgroud)
然后你可以使用:
List<course> list_course= query.ToList<course>();
Run Code Online (Sandbox Code Playgroud)
这对我来说可以.
您需要以某种方式将每个tbcourse对象转换为一个实例course.例如,course可以有一个构造函数,需要一个tbcourse.然后,您可以像这样编写查询:
var qry = from c in obj.tbCourses
select new course(c);
List<course> lst = qry.ToList();
Run Code Online (Sandbox Code Playgroud)
您需要使用select newLINQ关键字将您的tbcourse实体显式转换为自定义类型course.示例select new:
var q = from o in db.Orders
where o.Products.ProductName.StartsWith("Asset") &&
o.PaymentApproved == true
select new { name = o.Contacts.FirstName + " " +
o.Contacts.LastName,
product = o.Products.ProductName,
version = o.Products.Version +
(o.Products.SubVersion * 0.1)
};
Run Code Online (Sandbox Code Playgroud)
http://www.hookedonlinq.com/LINQtoSQL5MinuteOverview.ashx