3
如果我想將多個對象插入到SQL Server數據庫看來我必須這樣做:INSERT INTO有沒有一種折衷方式?
using (var command = new SqlCommand(@"INSERT INTO Table1 (
Param_1,
Param_2,
Param_3,
...
)
VALUES (
@param1,
@param2,
@param3,
...
)",conn))
{
command.Params.Add("@param1",...);
command.Params.Add("@param2",...);
command.Params.Add("@param3",...);
...
foreach(var o in objects)
{
command.Params["@param1"].Value = o.Param1;
command.Params["@param2"].Value = o.Param2;
command.Params["@param3"].Value = o.Param3;
...
command.ExecuteNonQuery();
}
}
只是把這個在一起有我拉我的頭髮,我有28個字段的表。我必須在4個不同的時間寫出長列表,只有最小的差異(數據庫字段名稱可能使用不同的命名約定)。這看起來很瘋狂;有沒有更簡單的方法?
實體框架不適合我這裏,這將是我的第一選擇,我必須滾動代碼。
你可以使用[Dapper](https://github.com/StackExchange/Dapper)嗎? – juharr
我從來沒有聽說過它;儘管如此,我並不太熱衷於添加其他依賴項。 –
我習慣於使用xml來傳遞具有許多屬性的對象或列表對象。您可以將C#中的對象序列化爲字符串並在sql中反序列化它 – TriV