我正在調用一個存儲過程,該過程需要表值參數。爲存儲過程生成表參數接受表值參數
我知道以下選項來傳遞此參數:創建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-過程的表值參數 –