Asp.net LINQ到EF-将结果映射到列表,带有子属性
我有两门课Asp.net LINQ到EF-将结果映射到列表,带有子属性,asp.net,entity-framework-4,linq-to-entities,Asp.net,Entity Framework 4,Linq To Entities,我有两门课 public class Foo { public int Id { get; set; } public int price { get; set; } public Moo moo { get; set; } public Foo() { } } 及 注意Foo是如何具有Moo属性的 现在我得到了一个Foo对象列表(如EF所示) 我现在不想让它们成为EF对象,而是将它们存储在一个foo列表中 List<Foo> = (efFoo.Selec
public class Foo
{
public int Id { get; set; }
public int price { get; set; }
public Moo moo { get; set; }
public Foo()
{
}
}
及
注意Foo是如何具有Moo属性的
现在我得到了一个Foo对象列表(如EF所示)
我现在不想让它们成为EF对象,而是将它们存储在一个foo列表中
List<Foo> = (efFoo.Select(o => new Foo()
{
Id = o.Id,
price = o.price,
code = o.code
}).ToList());
List=(efFoo.Select(o=>newfoo())
{
内径=外径,
价格=o.price,
代码=o.code
}).ToList());
这很好,但如果我想包括Moo值,它会爆炸
i、 e
List=(efFoo.Select(o=>newfoo())
{
内径=外径,
价格=o.price,
代码=o.code,
moo.firstname=o.moo.firstname//这条线就是杀手
}).ToList());
我被告知“无效的初始化器成员声明器”
左边的moo似乎没有firstname的子属性。
显然我不能说:moo=o.moo,因为o.moo是一个实体框架moo,而不是一个纯粹的moo
谢谢!!注意:我试图偷偷摸摸地创建一个接受实体框架Moo的方法,并输出一个普通的Moo,但Linq不喜欢我添加我自己的方法“Moo”应该是新的,对吧?我想你可以试试“Moo=newmoo{firstname=o.Moo.firstname,姓氏=o.Moo.姓氏}”先生,我永远欠你的债。愿我的第一个孩子长得像你。:D
var efFoo = (from d in myentity.Foo
where d.ID == 12
select d);
List<Foo> = (efFoo.Select(o => new Foo()
{
Id = o.Id,
price = o.price,
code = o.code
}).ToList());
List<Foo> = (efFoo.Select(o => new Foo()
{
Id = o.Id,
price = o.price,
code = o.code,
moo.firstname = o.moo.firstname //this line is the killer
}).ToList());