C# 哪个DataContext方法会更快?
我使用基本的DataContext创建对象,然后将它们提交到数据库中 我自己写了两个测试,看看哪一个是快速的,但只是想知道下面哪种方法被认为是最佳实践 代码通过循环进行迭代,并实例化要持久化到数据库的对象。是否最好: 1.)创建一个对象列表,然后在最终使用时将每个创建的对象分配给该列表C# 哪个DataContext方法会更快?,c#,asp.net,linq-to-sql,datacontext,C#,Asp.net,Linq To Sql,Datacontext,我使用基本的DataContext创建对象,然后将它们提交到数据库中 我自己写了两个测试,看看哪一个是快速的,但只是想知道下面哪种方法被认为是最佳实践 代码通过循环进行迭代,并实例化要持久化到数据库的对象。是否最好: 1.)创建一个对象列表,然后在最终使用时将每个创建的对象分配给该列表 MyDataContext.InsertAllOnSubmit(ListOfObjects) 2.)使用将每个创建的对象直接分配到DataContext中 MyDataContext.InsertOnSubmi
MyDataContext.InsertAllOnSubmit(ListOfObjects)
2.)使用将每个创建的对象直接分配到DataContext中
MyDataContext.InsertOnSubmit(Object)
希望这是有意义的,如果有人需要更多的信息让我知道
谢谢我想对于第二个选项,您需要为每个操作重新打开连接。使用列表更干净,也是更好的选择。我假设我们讨论的是对提交事件的性能影响-调用这些方法时,不会立即打开数据库连接 因为每个实现只在提交时更新数据库,所以它们都非常相似。 任何性能差异都是微不足道的(并且会被您为将对象放入列表或枚举列表所做的任何处理所抵消),因此选择更适合您的设计的方法 您可能会发现有关过早优化的页面很有趣- 过早优化是问题的根源 所有的邪恶——唐纳德·克努斯
这些方法都不会触及数据库。他们只会在调用Submit方法时将方法添加到要提交的列表中,因此它们的性能非常相似。我仍然认为第一个选项更好。不是因为性能,而是因为可跟踪性。