如何完成以下功能,接受刪除,插入和更新的記錄的三個收集參數,並將收集轉換爲DataTable
的DataAdapter
以更新表格?如何將集合轉換爲DataTable for Ado.Net SqlDataAdapter.Update?
我找到了一種方法來將List轉換爲DataTable How to fill a datatable with List<T>。但是,它不會在DataTable中設置插入,更新和刪除標誌?
void Save(
IEnumerable<int> deleted,
IEnumerable<Poco1> inserted,
IEnumerable<Poco1> updated)
{
var dt = new DataTable();
.... // Initialize dt with deleted, inserted and update?
using (var con = new SqlConnection(ConnectionStr))
{
con.Open();
var da = new SqlDataAdapter("select * from table", con);
da.Update(dt);
}
}
或者還有更好的方法來從這三個集合中更新數據庫表嗎? (C#3.5)
我得到的例外「的更多信息:SetAdded和SetModified之只能在具有不變的DataRowState數據行被稱爲」。當調用'dr.SetModified();'等。 – ca9163d9
嘗試在設置其狀態之前調用行上的.AcceptChanges()。 –