从具有动态sql的存储过程创建实体

时间:2010-08-27 12:08:35

标签: sql entity-framework stored-procedures ado.net

我有一个存储过程,它使用几个表并创建一个交叉表结果集。为了创建交叉表结果集,我使用CASE语句,这些语句是根据表中的记录动态生成的。

是否可以使用ADO.NET Entity框架从此SP生成实体?每当我尝试Get Column Information特定SP时,它就会The selected stored procedure returns no columns

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:5)

我的团队成员最近遇到过类似的情况,其中存储过程生成各种动态SQL并返回计算列,因此数据上下文不知道该怎么做。我自己还没有尝试过,但这是他声称有效的解决方案:

  

解决方案就是放线   “设置FMTONLY OFF;”进入proc。   这允许数据上下文   实际上生成了返回类。   在这种情况下,这只是因为   proc只是查询而已   数据

     

详情请点击此处:   http://tonesdotnetblog.wordpress.com/2010/06/02/solution-my-generated-linq-to-sql-stored-procedure-returns-an-int-when-it-should-return-a-table/

     

你只需要“SET FMTONLY OFF”   这个过程足够长,可以产生   类。然后你可以将它评论出来。