为接受表值参数的存储过程生成表参数

本文关键字:参数 存储过程 值参 | 更新日期: 2023-09-27 18:33:52

我正在调用一个采用表值参数的存储进程。

我知道传递此参数的以下选项:创建DataTableDbDataReaderIList<SqlDataRecord>

我正在使用IList<SqlDataRecord>(使用DataTable类似),但它涉及编写大量样板代码:创建集合,设置每列的类型,添加行,设置每个单元格的值。

我认为这正是实体框架应该自动化的代码类型。因此,我希望定义与 SQL TVP 类型匹配的 C# 类,添加常用的 EF 属性,创建这些对象的集合,并让 EF 在我的集合之上实现DbDataReaderIList<SqlDataRecord>。但是我找不到任何方法来做到这一点 - 例如,有EntityDataReader,但这是从SQL读取 - 我找不到在内存收集之上实现任何合适接口的实现。

在我开始使用反射自己编写之前,有什么建议吗?

为接受表值参数的存储过程生成表参数

实体框架当前不支持表值参数。您可以在此处为此功能投票:http://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions/suggestions/1015347-table-valued-parameters