मैं यह कर समाप्त हो गया, कृपया ध्यान दें कि उत्पादन पैरामीटर के साथ एक संग्रहीत प्रक्रिया निष्पादित एफई DataContext
(नहीं ObjectContext
)
पर काम कर रहे
using (DataContext context = new DataContext())
{
////Create table value parameter
DataTable dt = new DataTable();
dt.Columns.Add("Displayname");
dt.Columns.Add("FirstName");
dt.Columns.Add("LastName");
dt.Columns.Add("TimeStamp");
DataRow dr = dt.NewRow();
dr["Displayname"] = "DisplayName";
dr["FirstName"] = "FirstName";
dr["LastName"] ="LastName";
dr["TimeStamp"] = "TimeStamp";
dt.Rows.Add(dr);
////Use DbType.Structured for TVP
var userdetails = new SqlParameter("UserDetails", SqlDbType.Structured);
userdetails.Value = dt;
userdetails.TypeName = "UserType";
////Parameter for SP output
var result = new SqlParameter("ResultList", SqlDbType.NVarChar, 4000);
result.Direction = ParameterDirection.Output;
context.Database.ExecuteSqlCommand("EXEC UserImport @UserDetails, @ResultList OUTPUT", userdetails, result);
return result == null ? string.Empty : result.Value.ToString();
}
मेरे टेबल मूल्य पैरामीटर (यूडीटी टेबल) स्क्रिप्ट इस तरह दिखती है:
CREATE TYPE [dbo].[UserType] AS TABLE (
[DisplayName] NVARCHAR (256) NULL,
[FirstName] NVARCHAR (256) NULL,
[LastName] NVARCHAR (256) NULL,
[TimeStamp] DATETIME NULL
)
और मेरे दुकान प्रक्रियाoutput
पैरामीटर हम किसी भी ouput पैरामीटर जोड़ा/एसपी को पास किए जाने की जरूरत नहीं है बिना संग्रहित प्रक्रिया के लिए की तरह
CREATE PROCEDURE UserImport
-- Add the parameters for the stored procedure here
@UserDetails UserType Readonly,
@ResultList NVARCHAR(MAX) output
AS
शुरू होता है।
उम्मीद है कि यह किसी की मदद करता है।
एफई TVP समर्थन नहीं करता। यदि आपको कोई कामकाज मिल गया है तो बस इसे आज़माएं या टीवीपी के साथ संग्रहीत प्रक्रिया को कॉल करने के लिए ईएफ का उपयोग न करें। –