2
说我得到了这样的情况:我有过滤我的数据实体这是我从一个存储过程中得到的一个:如何查询存储过程的对象使用LINQ
var results = from c in db.Customer
join p in db.GetSPResults() on c.Id equals p.Id
select c;
我Context类我得到这个:
public ObjectResult<Example> GetSPResults()
{
return (this as IObjectContextAdapter).ObjectContext.ExecuteFunction<Example>("Proc_Example");
}
到目前为止,我遇到两个问题:
我得到一个InvalidOperationException时码罢工日ËExcecuteFunction行:
的FunctionImport 'XXX' 不能在容器中发现的 'XXX'。
假设你们可以帮助我解决这个问题,是否有可能这样查询?像上下文实体一样使用这些存储过程结果?我认为英孚不会允许这会导致它不是一个实体,也不是一个“恒定价值”。
我正在使用EF 4.3。
。模型创建数据库,但是您知道是否可以使用POCO定义存储过程或视图? –
谢谢!不过,我已经试过了,'SqlQuery'方法的结果将不会用于查询工作(由于我对第2项命名的原因,它不是一个实体或一个恒定值)。任何其他想法? –
好的我已经做了它从存储过程返回一个id列表。这样linq理解它可以很好地查询。谢谢我会发布答案。 –