【发布时间】:2009-09-17 17:42:12
【问题描述】:
我有一个普通的旧 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; }
}
到目前为止,我的 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;
}
这不起作用,因为显然 LINQ to Entities 不支持参数化初始化,因此会抛出一个异常,上面写着:“LINQ to Entities 中仅支持无参数构造函数和初始化程序。”我想知道是否有另一种方法可以达到同样的效果?
【问题讨论】:
标签: linq entity-framework linq-to-entities strong-typing