【问题标题】:Which DataContext method will be faster?哪个 DataContext 方法会更快?
【发布时间】:2010-12-07 07:00:22
【问题描述】:

我使用基本的 DataContext 创建对象,然后将它们提交到数据库中。

我自己编写了几个测试,看看哪种方法很快,但只是想知道以下哪种方法被认为是最佳实践。

代码遍历一个循环并实例化一个要持久化到数据库的对象。是否更好:

1.) 然后创建一个对象列表并将每个创建的对象分配给该列表,然后在最后使用

MyDataContext.InsertAllOnSubmit(ListOfObjects)

2.) 使用

将每个创建的对象直接分配到 DataContext
MyDataContext.InsertOnSubmit(Object)

希望这是有道理的,如果有人需要更多信息,请告诉我!

谢谢

【问题讨论】:

    标签: c# asp.net linq-to-sql datacontext


    【解决方案1】:

    我假设我们谈论的是对提交事件的性能影响 - 调用这些方法时没有立即打开数据库连接。

    由于每个实现只会在提交时更新数据库,因此它们都非常相似。 任何性能差异都将是微不足道的(并且将通过您将对象放入列表或枚举列表的任何处理来抵消),因此请选择更适合您的设计的那个。

    您可能会发现这个关于过早优化的页面很有趣 - http://c2.com/cgi/wiki?PrematureOptimization

    过早的优化是 万恶之源——Donald Knuth。

    【讨论】:

      【解决方案2】:

      我猜对于第二个选项,您需要为每个操作重新打开连接。使用列表更简洁,也是更好的选择。

      【讨论】:

      • 这些方法都不会触及数据库。它们只是在调用 Submit 方法时将方法添加到将要提交的列表中,因此它们的性能非常相似。
      • 我仍然认为第一个选项更好。不是因为性能,而是因为可跟踪性。
      猜你喜欢
      • 1970-01-01
      • 2012-03-22
      • 2020-01-25
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多