簡體   English   中英

如何使用Entity Framework 6將數據列表傳遞給存儲過程

[英]How to pass a list of data to a stored procedure, using Entity Framework 6

我正在嘗試使用Entity Framework Database First將數據列表從C#傳遞到SQL Server存儲過程。 SO和其他地方有很多關於這個問題的文章,但是將變量數據傳遞給存儲過程以及從數據庫返回變量數據的內容並不明顯。 他們也傾向於專注於調用存儲過程的代碼,但我無法做到這一點。

在SSMS中創建並測試了用戶定義的表類型和存儲過程。 問題發生在C#中。 更新模型(.edmx文件)時,會發出以下警告:

警告4錯誤6005:函數'uspGetBusyPersonsTVP'在參數索引2處具有參數'list',其具有當前不支持目標實體框架版本的數據類型'表類型'。 該功能被排除在外。

模型瀏覽器中的檢查顯示已在模型中創建存儲過程,但僅使用非TVP參數。

此MSDN站點https://msdn.microsoft.com/en-us/data/hh859577.aspx表示自EF 5.0以來已支持表值參數,但本文僅討論返回數據。

我剛剛完成更新,現在我正在使用Visual Studio 2015社區,.Net 4.6和Entity Framework 6.1.3。 有誰知道TVP是否可以傳遞給存儲過程,或者是否有可能被支持?

您引用的文章討論了表值函數(即返回表的用戶定義函數),而不是將表值參數傳遞給存儲過程。 你在比較蘋果和大象。

EF是否會支持它我無法回答,因為我不為微軟工作。 無論是否可以,基於如何將表值參數從.net代碼傳遞給存儲過程 ,答案似乎是“是”,但是看起來您需要使用原始ADO.NET來執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM