启用EF代码首次迁移V 4.3.1.0

时间:2012-09-23 10:04:33

标签: c# entity-framework

我曾与其他迁移项目合作过,没有问题。在我目前的项目中,我分离了迁移和模型项目。添加迁移时甚至在启用迁移(创建配置类)时出现以下错误:

  

PM> enable-migrations -Force找不到从DbContext派生的类   在当前的项目中。将生成的Configuration类编辑为   指定启用迁移的上下文。   System.Reflection.ReflectionTypeLoadException:无法加载一个或   更多请求的类型。检索LoaderExceptions属性   欲获得更多信息。在   System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)at   System.Reflection.RuntimeModule.GetTypes()at   System.Reflection.Assembly.GetTypes()at   System.Data.Entity.ModelConfiguration.Mappers.TypeMapper< .ctor> B_ 1(大会   a)在System.Linq.Enumerable.d _14 2.MoveNext() at System.Collections.Generic.List 1.InsertRange(Int32 index,   IEnumerable 1 collection) at System.Data.Entity.ModelConfiguration.Mappers.TypeMapper..ctor(MappingContext mappingContext) at System.Data.Entity.DbModelBuilder.MapTypes(EdmModel model) at System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo) at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) at System.Data.Entity.Internal.RetryLazy 2.GetValue(TInput input)at   System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
  在   System.Data.Entity.Internal.LazyInternalContext.get_CodeFirstModel()
  在System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(DbContext   上下文,XmlWriter编写者)   System.Data.Entity.Migrations.Extensions.DbContextExtensions<> C_ DisplayClass1.b _0(XmlWriter的   w)at   System.Data.Entity.Migrations.Extensions.DbContextExtensions.GetModel(Action`1   writeXml)at   System.Data.Entity.Migrations.Extensions.DbContextExtensions.GetModel(的DbContext   上下文)   System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration   配置,DbContext usersContext)at   System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration   配置)   System.Data.Entity.Migrations.Design.MigrationScaffolder..ctor(DbMigrationsConfiguration   migrationsConfiguration)at   System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.RunCore()   在System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()   无法加载一个或多个请求的类型。检索   LoaderExceptions属性以获取更多信息。

由于

1 个答案:

答案 0 :(得分:0)

消息说你没有派生自DbContext的类,这意味着你需要定义一个。

这样的事情:

class MyContext: DbContext
{
   public DBSet<Some_Entity_Which_Represent_DB_table> SetName {get;set;}

   public MyContext() : base(here you can specify database with its name or connectionString or leave it empty)
   {}
}