我正在调用一个存储过程,该过程需要表值参数。为存储过程生成表参数接受表值参数
我知道以下选项来传递此参数:创建DataTable
,DbDataReader
或IList<SqlDataRecord>
。
我使用的是IList<SqlDataRecord>
(使用DataTable
是类似的),但它涉及到编写大量样板代码:创建集合,设置每个列的类型,添加行,设置每个单元格的值。
我认为这正是Entity Framework应该实现自动化的代码类型。所以我希望定义C#类匹配SQL TVP类型,添加常用的EF属性,创建这些对象的集合,并让EF在我的集合上实现DbDataReader
或IList<SqlDataRecord>
。但我找不到任何方法去做 - 例如有EntityDataReader
,但这是从SQL读取 - 没有实现,我可以找到实现任何合适的接口上的内存集合。
任何建议,在我开始使用Reflection自己写之前?
与此问题相关 - 查看我的答案(基本上我做了反射位+允许额外配置):http://stackoverflow.com/questions/8157345/entity-framework -stored-过程的表值参数 –