我有一个普通的旧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中只支持无参数构造函数和初始值设定项." 我想知道是否有另一种方法来实现同样的结果?