实体框架种子方法异常



我使用实体框架6与MVC5 webapi2项目对Oracle数据库。

我试图在Seed方法中添加一些ApplicationRoles,但是当我执行update-database时,我得到了这个异常:

Running Seed方法。Oracle. manageddataaccess . client . oracleexception: Type is not resolved for member 'Oracle. runtime . serialalize . serializationexception:ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342'。在System.AppDomain。DoCallBack (CrossAppDomainDelegate callBackDelegate)在System.Data.Entity.Migrations.Design.ToolingFacade。运行(BaseRunner跑步者)在System.Data.Entity.Migrations.Design.ToolingFacade。更新(String targetMigration, Boolean force)在System.Data.Entity.Migrations.UpdateDatabaseCommand灵活;> c__DisplayClass2灵活;.ctor> b__0 ()在System.Data.Entity.Migrations.MigrationsDomainCommand。执行(行动命令)Oracle. manageddataaccess . client . oracleexception的类型未解析。ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342'.

我的Seed方法代码:

var roleStore = new RoleStore<IdentityRole>(context);
var roleManager = new RoleManager<IdentityRole>(roleStore);
if (!context.Roles.Any(r => r.Name == "USER"))
{
    var role = new IdentityRole("USER");
    roleManager.Create(role);
}

update-database正在创建我的表没有任何问题,只是Seed方法有问题。

谁有什么建议,请问可能是什么问题?

谢谢。

安装Oracle.ManagedDataAccess.dll到GAC解决了我的问题。如果您在您的机器上安装了Oracle客户端或Oracle数据库,这可能是原因。

C:Windowssystem32>cd E:smnpackagesOracle.ManagedDataAccess.12.1.021libnet40
C:Windowssystem32>e:
E:smnpackagesOracle.ManagedDataAccess.12.1.021libnet40>"C:Program Files (x86)Microsoft SDKsWindowsv8.1AbinNETFX 4.5.1 Toolsgacutil.exe" /i Oracle.ManagedDataAccess.dll
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Assembly successfully added to the cache

最新更新