EF:播种期间出现错误“发现模糊匹配。”特别是在多次插入时

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF:播种期间出现错误“发现模糊匹配。”特别是在多次插入时相关的知识,希望对你有一定的参考价值。

我在播种期间收到的错误是“发现了模糊的匹配”。特别是在以下代码中:

.....
RoleSeeder.GetInitailRole().ForEach(r => context.Roles.AddOrUpdate(r));
....

我的角色RoleSeeder类是:

public class RoleSeeder
{
    public static List<Role> GetInitailRole()
    {
        return new List<Role>
        {
            new Role {
                Id = (int)RpsActorsRole.SuperAdmin,
                Name = RpsActorsRole.SuperAdmin.ToString(),
                Users = UserSeeder.GetSuperAdminUsers()
            },
            new Role {
                Id = (int)RpsActorsRole.CompanyAdmin,
                Name = RpsActorsRole.CompanyAdmin.ToString(),
                Users = UserSeeder.GetCompanyAdminUsers()
            }
        }
    }
}
答案

请更改您的代码行

RoleSeeder.GetInitailRole().ForEach(r => context.Roles.AddOrUpdate(r));

到这一个:

RoleSeeder.GetInitailRole().ForEach(r => context.Roles.Add(r));

以上是关于EF:播种期间出现错误“发现模糊匹配。”特别是在多次插入时的主要内容,如果未能解决你的问题,请参考以下文章

如何在 EF 4.3 中使用带有复杂键的 AddOrUpdate 播种数据

EF 代码优先 - 删除然后创建数据库后播种

播种 EF 4.1 时代理的第一个导航属性为空

如何在 EF Core 2.1.0 中播种管理员用户?

EF 数据上下文 - 异步/等待和多线程

Laravel中的播种表错误?