【发布时间】:2013-08-11 15:52:37
【问题描述】:
我是 Entity Framework 的新手,我使用的是 Linq-to-SQL,它运行良好,但是当我想创建 WCF 数据服务时,我从服务中收到很多错误,所以我决定搬家到英孚。
但我的问题是 TVF(表值函数),在我的数据库中,我有很多 TVF 返回每个登录用户的数据以及指定对象的用户权限,例如我有一个表 Records 和一个TVFuf_SelectUserRecords(@UID BIGINT)。我想执行这个函数并返回它的结果来代替Records 表。
在 Linq-to-SQL 中它运行良好,但在 EF 中我无法让它运行,问题是当我将 TVF 添加到模型时(通过一些技巧,因为 EF 设计器不支持它)的结果TVF 不是 IQueryable 而是 IEnumerable,所以我无法在 WCF 数据服务中返回它。
有什么方法可以将函数作为表格执行吗?
【问题讨论】:
-
您使用的是什么版本的 EF?看起来better support for TVFs 存在于 EF 5 中。
-
我在VS2012中使用EF5
标签: c# entity-framework