0
我維護要在數據庫中完成的操作(刪除和更新)列表。 我使用foreach
迭代列表並執行這些操作。下面是示例僞代碼。我使用實體框架和SQL Server作爲它背後的數據庫。無法在C#Entity Framework中正確迭代地進行數據庫更改
foreach (dbChange in dbChanges)
{
switch (dbChange.Operation)
{
case Add:
queryStr = String.Format("DELETE FROM {0} WHERE {1} = {2}",
dbChange.TableName,
dbChange.PrimaryKeyName,
dbChange.PrimaryKeyValue);
break;
case Update:
queryStr = String.Format("UPDATE {0} SET {1} = '{2}' WHERE {3} = {4}",
dbChange.TableName,
dbChange.ColumnName,
dbChange.PreviousValue,
dbChange.PrimaryKeyName,
dbChange.PrimaryKeyValue);
break;
}
DBQuery.ExecuteCommand(ConnectionString, queryStr, 10);
}
我的問題:它運行完美,做必要的修改。但有時候隨機的數據庫操作沒有正確完成。像某些值沒有更新或某些行未被刪除。
我試了很多找出背後的可能原因。可能的原因是什麼(比賽條件或其他?)並對其進行糾正。提前致謝。
爲什麼不以正確的方式使用EF而不是使用'DbQuery'? –