我创建了一个C#类库,其中包含3个实体类和一个DbContext,用于生成数据库的Code First。第1版一切顺利。我创建了一个单独的测试库,DbContext类的类库表现如预期。
现在,我想让其中一个字段为必填项,并按照Code First约定,在实体类的属性中添加了[Required]属性。下一步是启用迁移。
我进入了程序包管理器控制台,输入了“enable-migrations”,然后...崩溃了...“无法加载指定的元数据资源”。
参考我的DbContext类包括:
public OrganisationsContext()
: base("Leegz_Entities_Organisations")
{
this.Configuration.LazyLoadingEnabled = false;
this.Configuration.ProxyCreationEnabled = false;
}
public DbSet<Organisation> Organisations { get; set; }
public DbSet<Member> Members { get; set; }
public DbSet<LeegzUser> LeegzUsers { get; set; }
我的 app.config 包含:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<connectionStrings>
<add name="Leegz_Entities_Organisations" connectionString="data source=NEIL-INSPIRON\NEILDEV;initial catalog=TheLeegz;integrated security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="Leegz.Entities.Organisations.DbSecuritySchema" value="Leegz.Entities.Organisations"/>
</appSettings>
</configuration>
我看到了很多关于这个主题的线程,但它们似乎都是在谈论EDMX模型文件中引用元素的错误。然而,由于我使用的是Code-First,所以我没有一个模型(也许我在这里错过了一步),因此我看到的关于连接字符串中EDMX信息的建议似乎不适用于我。
有什么想法吗,请?