C# EF 4存储过程与LINQ混合
我有一个proc,它返回两个字段作为EF框架生成的自定义类(自定义结果的映射类)。我可以用ADO.NET EF LINQ查询加入proc结果吗?我得到的错误表明没有,但我不确定C# EF 4存储过程与LINQ混合,c#,.net,linq,entity-framework,entity-framework-4,C#,.net,Linq,Entity Framework,Entity Framework 4,我有一个proc,它返回两个字段作为EF框架生成的自定义类(自定义结果的映射类)。我可以用ADO.NET EF LINQ查询加入proc结果吗?我得到的错误表明没有,但我不确定 谢谢。否,无法将结果集从Linq中的存储过程连接到实体查询。直接使用SQL也是非常困难的——我可以想象在TSQL中使用OpenQuery的一些方法,但这是一个糟糕的解决方案 如果您确实需要将存储过程的结果与一些Linq to实体查询连接起来,您应该分别执行存储过程和查询,并使用Linq to对象将它们连接起来。但请注意,
谢谢。否,无法将结果集从Linq中的存储过程连接到实体查询。直接使用SQL也是非常困难的——我可以想象在TSQL中使用OpenQuery的一些方法,但这是一个糟糕的解决方案 如果您确实需要将存储过程的结果与一些Linq to实体查询连接起来,您应该分别执行存储过程和查询,并使用Linq to对象将它们连接起来。但请注意,此解决方案将把两个操作的完整结果集传输到您的应用程序服务器,并由.NET在内存中执行联接 另一个解决方案是将存储过程重写为UDF(TSQL中的用户定义函数)。在这种情况下,您将无法使用函数结果到实体的映射,但可以将函数结果与EQL中的其他查询连接起来
在这种情况下,最好的解决方案可能是执行必要连接操作的新存储过程。代码示例将大大提高您获得有用答案的机会。