如何转换LINQ查询结果列表?(How to convert LINQ query result t

2019-06-23 23:22发布

我需要转换LINQ查询结果列表。 我尝试下面的代码:

var qry = from a in obj.tbCourses
                     select a;

List<course> lst = new List<course>();
lst = qry.ToList();

上面的代码出现以下错误:

Cannot implicitly convert type 
System.Collections.Generic.List<Datalogiclayer.tbcourse> to
System.Collections.Generic.List<course>

Answer 1:

没必要做这么多工作..

var query = from c in obj.tbCourses
        where ...
        select c;

然后你可以使用:

List<course> list_course= query.ToList<course>();

这对我来说可以。



Answer 2:

List<course> = (from c in obj.tbCourses
                 select 
                new course(c)).toList();

您可以直接在实体对象转换为名单上的电话。 有方法将其转换成不同的数据结构(列表,阵列,字典,查找,或字符串)



Answer 3:

您需要将每个莫名其妙转换tbcourse对象的实例course 。 举例来说course可以有一个构造函数一个tbcourse 。 然后,你可以这样写查询:

var qry = from c in obj.tbCourses
          select new course(c);

List<course> lst = qry.ToList();


Answer 4:

您需要使用select new LINQ关键字您的显式转换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)
                   };

http://www.hookedonlinq.com/LINQtoSQL5MinuteOverview.ashx



Answer 5:

你可以做的是选择一切到课程的新实例,并随后将其转换为一个列表。

var qry = from a in obj.tbCourses
                     select new Course() {
                         Course.Property = a.Property
                         ...
                     };

qry.toList<Course>();


文章来源: How to convert LINQ query result to List?
标签: linq tolist