【发布时间】:2014-02-17 13:13:02
【问题描述】:
我在绑定到 datagridview 的 winform 上使用 Linq to Sql 绑定源。在我执行 AddNew 和 SubmitChanges 后,它似乎没有保存到数据库中。
var myObject = (myObject)myBindingSource.AddNew();
myObject.ID=123;
myObject.prop="test";
myDataContext.SubmitChanges();
然后当我检查数据库时,对象不存在。 绑定源没有告诉数据上下文我要插入一个对象吗?
如果我将代码更改为:
var myObject = (myObject)myBindingSource.AddNew();
myObject.ID=123;
myObject.prop="test";
myDataContext.MyObjects.InsertOnSubmit(myObject);
myDataContext.SubmitChanges();
它有效。这似乎是双重工作,因为我希望绑定源来处理它。
【问题讨论】:
-
mmm....我实际上只是遇到了这样一种情况,即绑定源最好不要立即插入提交对象。当用户在向下钻取表单中设置更多详细信息并决定他们无论如何都不想要该对象时,您可以取消并且您不会被数据上下文中的对象卡住!
-
它变得越来越陌生 - 我刚刚发现了一些过去没有“InsertOnSubmit”的代码。现在没有了。
标签: c# winforms linq-to-sql datacontext bindingsource