我在我的項目中使用Entity Framework v4.0來連接到數據庫。我處於將List作爲輸入參數傳遞給存儲過程的情況,並在SP中執行一些操作並返回List作爲SP結果。我知道表值參數是一個選項。但經過一番調查後,我發現在Entity Framework中不可能使用Table Valued參數。有沒有其他方式沒有使用表值參數通過實體框架來做到這一點?在實體框架中使用SQL表值參數
2
A
回答
4
,您仍然可以通過一個TVP存儲過程即使您正在使用實體框架。
例子:
// Create metadata records
IEnumerable<SqlDataRecord> sqlDataRecords = new List<SqlDataRecord>();
// Create a list of SqlDataRecord objects from your list of entities here
SqlConnection storeConnection = (SqlConnection)((EntityConnection)ObjectContext.Connection).StoreConnection;
try
{
using (SqlCommand command = storeConnection.CreateCommand())
{
command.Connection = storeConnection;
storeConnection.Open();
SqlParameter[] sqlParameters = parameters.ToArray();
command.CommandText = YourStoredProcedureName;
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("YourTVPName", SqlDbType.Structured)
{
Value = sqlDataRecords,
TypeName = "dbo.Your_Table_Type"
});
using (DbDataReader reader = command.ExecuteReader())
{
// Read results
}
}
}
finally
{
storeConnection.Close();
}
+0
Thankssss !!!!這有助於....但如何從存儲過程中取回列表? ExecuteReader做到了嗎? – Sadhurthan
+0
看到這裏的信息閱讀的結果:http://msdn.microsoft.com/en-us/library/haa3afyz.aspx – mayabelle
+0
感謝洛特伴侶!!!!!!!!!!! – Sadhurthan
相關問題
- 1. 使用實體框架加載SQL表
- 2. 實體框架中的值表函數?
- 3. 實體框架的集合值參數?
- 4. 實體框架 - 表值函數 - 參數已存在
- 5. 在MyIsam表中使用實體框架
- 6. 實施SQL「和」使用實體框架
- 7. 使用實體Sql在實體框架中批量刪除
- 8. 使用實體框架將數據未插入到SQL表中
- 9. 如何使用實體框架SqlQuery來保護SQL參數?
- 10. 存儲過程中的表值參數和實體框架4.0
- 11. 實體框架4.0實體SQL傳遞null ObjectParameter參數
- 12. 實體框架4表值函數
- 13. 實體框架4.2表值函數
- 14. 實體框架 - 默認值不在sql server表中設置
- 15. 實體框架其中方法參數
- 16. 實體框架使用的參考
- 17. 在實體框架中使用SQL函數選擇
- 18. 使用SQL Service Broker的實體框架
- 19. 使用實體框架SQL注入
- 20. 使用實體框架在SQL Server表中強制唯一的varchar(255)列值
- 21. 使用SQL CE的實體框架不允許使用零值?
- 22. 力實體框架使用SQL參數化更好SQL PROC的緩存重用
- 23. 使用常量參數映射實體框架中的SQL函數
- 24. 如何使用實體框架將表值參數傳遞到存儲過程
- 25. 參數化實體框架中的原始Oracle SQL查詢
- 26. 實體框架自我參照實體
- 27. 使用實體框架獲取表中的所有記錄與實體框架
- 28. 在實體框架中運行sql?
- 29. 實體框架6.1將實體映射到表值函數
- 30. 實體框架表值函數 - 默認實體映射
有沒有,你可以升級到EF5任何機會呢? [它支持](http://msdn.microsoft.com/en-us/data/hh859577.aspx) – MaxSC