Linq2Sql 更新
想知道是否有其他人通过 Linq2Sql 使用存储过程完成了大部分更新 SQL?
我喜欢 Linq2Sql 来完成所有其他操作,但更新似乎很糟糕。生成的 SQL 在分析器中看起来不太好,其中所有列都位于Where 子句中,因此您必须在运行 SubmitChanges()
之前选择当前对象来设置编辑对象中的字段。
我发现编写一个老式的存储过程更适合更新,而使用 Linq2Sql 来完成其余的工作。你的经历怎么样?
Wondering if anyone else has done most of their Update SQL using stored procedures over Linq2Sql?
I like Linq2Sql for all the other operations but Updates seem to be nasty. The generated SQL doesn't look good in profiler with all the columns in the Where clause, then you have to select the current object to set the fields from the edited object before running SubmitChanges()
.
I'm finding just writing a old fashioned stored procedure better for Updates and using Linq2Sql for the rest. How about your experience?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果表中包含时间戳列和主键,则不需要Where 子句中的所有列。然后 L2S 将仅在Where 子句中使用这两列。
我使用 L2S 为制造操作构建了一个 n 层数据访问层,而没有使用单个存储过程。这是可以做到的,而且可以做得很好。
兰迪
You don't need all the columns in the Where clause if you include a Timestamp column in your table and a primary key. Then L2S will use those two columns only in the Where clause.
I've built an n-tier data access layer using L2S for a manufacturing operation, without using a single stored procedure. It can be done, and can be done quite well.
Randy
我在 Rick Strahls 博客中查看了这个更新附加方法我正在努力解决这个问题。我最终只使用了 NHibernate,虽然这并不容易,但是一旦你完成了一些教程,它就非常好用了。 Nhibernate 中的更新也很容易。
如果您使用 Linq to NHibernate,它也支持 LINQ
I had a look at this Update Attach Method from Rick Strahls blog when I was trying to work it out. I ended up just using NHibernate which is, well not easy, but is really nice once you have done a few tutorials. And Update in Nhibernate is easy too.
And it supports LINQ if you use Linq to NHibernate