我是 Entity Framework 的新手,我使用的是 Linq-to-SQL,它运行良好,但是当我想创建 WCF 数据服务时,我从服务中收到很多错误,所以我决定转向 EF。
但我的问题是 TVF(表值函数),在我的数据库中,我有很多 TVF 返回每个登录用户的数据以及指定对象的用户权限,例如我有一个表Records
和一个 TVF uf_SelectUserRecords(@UID BIGINT)
。我想执行这个函数并返回它的结果来代替Records
表。
在 Linq-to-SQL 中它运行良好,但在 EF 中我无法让它运行,问题是当我将 TVF 添加到模型时(通过一些技巧,因为 EF 设计器不支持它)TVF 的结果不是IQueryable
但是IEnumerable
,所以我不能在 WCF 数据服务中返回它。
有什么方法可以将函数作为表执行吗?