0

我的组织目前正在使用一个代码生成框架 (.nEtTiers),它自动将遵循特定约定的自定义存储过程映射到域模型中与过程具有相同签名的“get”方法。因此,例如,如果我有一个 Customer 表,并且我有一个存储过程 sp_custom_Customer_GetBySalesAmount(@salesAmount),那么框架将在为 Customer 生成的 .NET 提供程序中创建一个 GetBySalesAmount(salesAmount)。

我知道 EF 支持对实体进行 CRUD 操作的存储过程。但是它是否支持映射到 getter 的自定义存储过程?我的组织希望开始朝着使用 EF 的方向发展,并且能够支持这一点将使过渡更加顺利。

4

1 回答 1

1

带有 EDMX 的 EF 支持存储过程映射 - 这称为函数导入。函数导入被添加到上下文类(而不是实体类),因为现代 EF(4.x 或更高版本)采用了一些不同的方法,其中实体不应依赖于持久层 - 这些实体称为 POCO。

如果您的过程包含一些复杂性,则存储过程映射可能会有点棘手,因为 EF 并非支持所有内容。例如,不支持 TVP,只有 .NET 4.5 的 EF 支持从过程返回的多个结果集。

于 2012-08-10T18:10:05.960 回答