我在一篇教程中找到了这段代码:
Product bev1 = beverages.ElementAtOrDefault(10);
if (bev1 != null)
{
Console.WriteLine("The price of {0} is {1}. Update to 20.0",
bev1.ProductName, bev1.UnitPrice);
bev1.UnitPrice = (decimal)20.0;
}
// submit the change to database
db.SubmitChanges();
我们如何知道更新是否成功?
发布于 2013-01-16 03:03:30
如果更新不成功,将抛出异常。如果没有抛出异常,则成功。
发布于 2013-01-16 03:06:36
知道的一种方法是没有抛出异常。
确保使用GetChangeSet方法来获取数据上下文跟踪的已修改对象的第二种方法。
示例表单msdn
Northwnd db = new Northwnd(@"c:\northwnd.mdf");
var custQuery =
from cust in db.Customers
where cust.City == "London"
select cust;
foreach (Customer custObj in custQuery)
{
Console.WriteLine("CustomerID: {0}", custObj.CustomerID);
Console.WriteLine("\tOriginal value: {0}", custObj.City);
custObj.City = "Paris";
Console.WriteLine("\tUpdated value: {0}", custObj.City);
}
//get object modified
ChangeSet cs = db.GetChangeSet();
Console.Write("Total changes: {0}", cs);
// Freeze the console window.
Console.ReadLine();
db.SubmitChanges();
发布于 2013-01-16 03:06:52
这取决于你所谓的“成功”是什么意思。如果你所说的成功意味着“没有发生错误”,那么没有异常就会告诉你这一点。如果您的意思是“数据库中的数据按照我所期望的那样更新了”,那么您需要离线查询数据库,或者创建另一个上下文并通过它运行查询来验证发生的更改。
您可以编写不会生成异常但不会按预期方式更新数据库的代码。
https://stackoverflow.com/questions/14344953
复制相似问题