我正在使用Entity Framework 6和针对Oracle数据库的MVC5 webapi2项目。
我正在尝试在Seed方法中添加一些ApplicationRoles,但是当我执行update-database时,我得到了这个异常:
运行种子方法。 System.Runtime.Serialization.SerializationException:未解析成员' Oracle.ManagedDataAccess.Client.OracleException,Oracle.ManagedDataAccess,Version = 4.121.2.0,Culture = neutral,PublicKeyToken = 89b483f429c47342'。 在System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate) 在System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner) 在System.Data.Entity.Migrations.Design.ToolingFacade.Update(String targetMigration,Boolean force) 在System.Data.Entity.Migrations.UpdateDatabaseCommand。<> c__DisplayClass2。< .ctor> b__0() 在System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action命令) 未解析成员' Oracle.ManagedDataAccess.Client.OracleException,Oracle.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
创建我的表没有任何问题,它只是种子方法有问题。
有没有人对这个问题有什么建议?
感谢。
答案 0 :(得分:5)
将Oracle.ManagedDataAccess.dll安装到GAC解决了我的问题。如果您在计算机上安装了可能是原因的Oracle客户端或Oracle数据库。
delayedexpansion