是否可以让 linq to sql 自动将我的新记录提交回数据库?
我正在使用 linq to sql ,并且从 linq to sql 返回可查询的结果:
var qry = from p in table select p;
然后我使用它绑定到 xtragrid:
GridControl.DataSource = qry;
然后如果我编辑 xtraGrid 中的记录,我只需要调用 dataContext.submitChanges()
将更改提交回数据库。
我的问题是:
我是否可以将新记录添加到 qry 结果中,之后我只需要 调用dataContext.submitChanges(),那么linq可以自动在数据库上创建新记录吗?
这可能吗? 有人能给我指出正确的方向吗? 提前致谢 !
I am using linq to sql , and I return a queryable result from linq to sql :
var qry = from p in table select p;
Then I use this to bind to a xtragrid:
GridControl.DataSource = qry;
Then If I edit the records in xtraGrid, I just need to calldataContext.submitChanges()
to submit the changes back to database.
My question is :
Am I possible to just add new records into the qry result, and after that I only need to
call dataContext.submitChanges()
, then linq can create new records on database automatically ?
Is that possible ?
Can someone point me the right direction ?
Thanks in advance !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
答案是否定的。您需要在上下文中调用表属性的 Add 方法。
像这样的东西:
在这里阅读更多内容:
http:// weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx
Shot answer would be no. You need to call the Add method on the table property on your context.
Something like this:
Read more here:
http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx
您知道,如果您使用 LinqDataSource,而不是对 Grid 的 DataSource 属性进行查询,则 SubmitChanges、添加、删除和查询将被执行。系统会自动为您呼叫朋友,对吗?如果需要显示表的子集,您仍然可以重写 LinqDataSource 的 Selecting 事件以向其提供您自己的查询。
You are aware that if you use a LinqDataSource instead of giving a query to your Grid's DataSource property, SubmitChanges, Add, Delete & friends will be called automatically for you, right? If you need to display a subset of the table, you can still override the LinqDataSource's Selecting event to feed it your own query.