【发布时间】:2012-05-10 19:19:53
【问题描述】:
我正在调用一个采用表值参数的存储过程。
我知道传递此参数的以下选项:创建DataTable、DbDataReader 或IList<SqlDataRecord>。
我正在使用 IList<SqlDataRecord>(使用 DataTable 类似),但它涉及编写大量样板代码:创建集合、设置每个列的类型、添加行、设置每个单元格的值。
我认为这正是 Entity Framework 应该自动化的代码类型。所以我希望定义与 SQL TVP 类型匹配的 C# 类,添加常用的 EF 属性,创建这些对象的集合,并让 EF 在我的集合之上实现DbDataReader 或IList<SqlDataRecord>。但我找不到任何方法来做到这一点 - 例如有EntityDataReader,但那是从 SQL 中读取的 - 我找不到任何实现可以在内存集合之上实现任何合适的接口。
在我开始使用 Reflection 自己编写之前,有什么建议吗?
【问题讨论】:
-
与这个问题有关 - 查看我的答案(基本上我做了反射位 + 允许额外配置):stackoverflow.com/questions/8157345/…
标签: c# entity-framework stored-procedures ef-code-first table-valued-parameters