Linq2Sql 更新

发布于 2024-08-17 23:42:13 字数 243 浏览 5 评论 0原文

想知道是否有其他人通过 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

荒岛晴空 2024-08-24 23:42:13

如果表中包含时间戳列和主键,则不需要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

转角预定愛 2024-08-24 23:42:13

我在 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文