पैरामीटर के रूप में डेटाटेबल मैं डेटाटेबल को संग्रहीत प्रक्रिया के पैरामीटर के रूप में उपयोग करने की इस विधि का पुन: उपयोग कर रहा हूं और यह बहुत अच्छा काम कर रहा है।एक बाइट [] फ़ील्ड के साथ डेटाटेबल एक संग्रहीत प्रक्रिया
using (dbEntities dbe = new dbEntities())
{
var dt = new dataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Message");
dt.Columns.Add("CreatedOn", typeof(DateTime));
foreach (var row in randomDataSource)
{
dt.Rows.Add(
row.id,
row.message,
DateTime.Now
);
}
var tableType = new SqlParameter("tableType", SqlDbType.Structured);
tableType.Value = dt;
tableType.TypeName = "[dbo].[RandomTableType]";
dbe.ExecuteStoreCommand(
"EXEC [dbo].[SaveTable] @tableType",
new object[] { tableType }
);
}
समस्या पैदा होती है जब क्षेत्र मैं जोड़ना चाहते हैं एक द्विआधारी प्रकार की है: यह सरल बनाया काम कर कोड है। यानी .:
dt.Columns.Add("BinaryMessage", typeof(byte[]));
डेटाबेस में संगत स्तंभ varbinary(MAX)
माध्यम से है।
Implicit conversion from data type nvarchar(max) to varbinary(max) is not allowed. Use the CONVERT function to run this query.
मैं कैसे संपादित कर सकता है कि मैं क्या यह काम करने के लिए है: जब मैं इस चलाने का प्रयास है, मैं इस त्रुटि मिलती है?
जैसा कि आप बाइट जानते हैं [] एक डेटाटाइप नहीं है, –
के बजाय बाइट का उपयोग करें, लेकिन एक सरणी एक डेटाटाइप है ... – kei