实体框架种子方法异常

时间:2015-08-14 09:35:34

标签: entity-framework-6 asp.net-mvc-5.1

我正在使用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创建我的表没有任何问题,它只是种子方法有问题。

有没有人对这个问题有什么建议?

感谢。

1 个答案:

答案 0 :(得分:5)

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

delayedexpansion