CREATE table Thing ( ID int,name nvarchar(max));CREATE table SubThing ( ID int,name nvarchar(max),ThingID int (foreign key) );
我想选择所有具有SubThings列表的东西并将它们设置为Thingviewmodel.
Thing viewmodel很简单:
public class Thingviewmodel{ public int ID { get; set; } public string name { get; set; } public List<SubThingviewmodel> SubThings { get; set; }}
SubThingviewmodel是:
public class SubThingviewmodel { public int ID { get; set; } public string name { get; set; } }
我已经选择了像这样的Thing记录:
List<Thingviewmodel> things = null;things = _context.Things.OrderBy(b => b.name) .Select(b => new Thingviewmodel { ID = b.ID,name = b.name }).ToList();
如何将SubThings添加到查询和viewmodel?
解决方法 您可以使用SubThings navigation property进行另一次投影:things = _context.Things.OrderBy(b => b.name).Select(b => new Thingviewmodel{ ID = b.ID,name = b.name,SubThings =b.SunThings.Select(st=>new SubThingviewmodel{ID =st.ID,...}).ToList()}).ToList();总结
以上是内存溢出为你收集整理的c# – 如何使用Linq选择具有一对多关系的所有内容全部内容,希望文章能够帮你解决c# – 如何使用Linq选择具有一对多关系的所有内容所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)