LINQ to EF - 将结果映射到具有子属性的列表

时间:2012-03-13 09:13:52

标签: asp.net entity-framework-4 linq-to-entities

我有2个班级

public class Foo
{
    public int Id { get; set; }
    public int price { get; set; }
    public Moo moo { get; set; }

public Foo()
{
}
}

public class MOO
{
    public int Id { get; set; }
    public String firstname { get; set; }
    public String surname { get; set; }

    public Moo()
{
}
}

注意Foo如何具有Moo属性

现在我得到一个Foo对象列表(如EF所见)

var efFoo = (from d in myentity.Foo
                          where d.ID == 12
                          select d);

我现在因为我不希望它们成为EF对象,而是将普通的旧foo对象存储在Foos列表中

List<Foo> = (efFoo.Select(o => new Foo()
        {
            Id = o.Id,
            price = o.price,
            code = o.code
        }).ToList());

效果很好,但是如果我想要包含Moo值,那就是炸弹 即。

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());

我被告知“”无效的初始化成员声明符“ 似乎左边的moo没有firstname的子属性。 显然我不能说:moo = o.moo,因为o.moo是一个实体框架Moo。不是纯粹的Moo

谢谢!

0 个答案:

没有答案