相关疑难解决方法(0)

行插入顺序实体框架

我正在使用事务在多个表中插入多行.对于这些行,我想按顺序添加这些行.在调用SaveChanges时,所有行都不按顺序插入.

当不使用事务并在每次插入后保存更改确实保持顺序,但我确实需要所有条目的事务.

entity-framework transactions insert

15
推荐指数
1
解决办法
5895
查看次数

什么逻辑确定实体框架6的插入顺序

所以,我有一个DBContext,我正在做以下操作:

dbContext.SomeTables1.Add(object1)
dbContext.SomeTables2.AddRange(objectArray2)
dbContext.SomeTables3.AddRange(objectArray3)
dbContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

EF不按此顺序插入db记录,它以随机顺序插入它们.要按相同的顺序插入它们,我必须dbContext.SaveChanges()在每次添加后再执行一次.这不是一个有效的解决方案,在我的情况下,我需要10秒钟来完成所有插入,而一次保存的随机顺序大约需要3秒.

NB我需要正确的命令来解决死锁问题.

我的问题是:

  • 这个问题在EF7中解决了吗?
  • 我可以对EF进行概要分析并确定随机顺序,但是,是否可以保证它与相同的随机顺序保持一致,还是在请求之间进行更改?(如果这个问题的答案是肯定的,我可以采用我的其他代码).
  • 维持订单是否有比dbContext.SaveChanges()每次添加更好的方法?

c# entity-framework entity-framework-6 entity-framework-core

14
推荐指数
1
解决办法
4730
查看次数

是否有一种更简单的方法来初始化List <KeyValuePair <T,U >>,就像Dictionary <T,U>?

实际上我需要类似的东西,List<KeyValuePair<T, U>>但我希望能够像字典一样初始化它(即new KeyValuePair每次都不写).像这样:

Dictionary<string, string> dic = new Dictionary<string, string>
{
    { "key1", "value1"}, 
    { "key2", "value2"}
};
Run Code Online (Sandbox Code Playgroud)

.net c#

6
推荐指数
1
解决办法
2201
查看次数