相关疑难解决方法(0)

在LINQ to Entities中初始化强类型对象

我有一个普通的旧CLR对象,它本质上是两个实体框架对象的包装器,我这样做,所以我可以将这个包装器对象传递给MVC框架中的强类型视图.我的foo包装类非常简单:

public class FooWrapper
{
    public FooWrapper(Foo f, Bar b)
    {
        this.FooObject = f;
        this.BarObject = b;
    }

    public Foo FooObject { get; private set; }
    public Bar BarObject { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的ListFoosWithBars函数具有以下内容:

public IEnumerable<FooWrapper> ListFoosWithBars(int userID)
{
    IEnumerable<Bar> tempBar = ListBarsByUserID(userID);
    IEnumerable<FooWrapper> results = (from f in _entities.FooSet
                                       join b in tempBar on f.ID equals b.foos.ID
                                       select new FooWrapper(f, b));
    return results;
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为显然LINQ to Entities不支持参数化初始化,抛出的异常只是说:"LINQ to Entities中只支持无参数构造函数和初始值设定项." 我想知道是否有另一种方法来实现同样的结果?

linq linq-to-entities entity-framework strong-typing

11
推荐指数
3
解决办法
8544
查看次数