我正在使用 EF Code First 和 MVC3 开发应用程序。该解决方案包含三个项目; ProjectName.Model 仅涉及 POCO 类,ProjectName.App 涉及默认模型文件夹中的 MVC3 Web 项目(由 MVC 本身创建)从中删除,ProjectName.Repository 包含通用存储库、UnitOfWork 和 DatabaseContext 类。 问题 是,EF5 生成数据库但不包含任何表:
public class DatabaseContext : DbContext
{
public DatabaseContext() : base("name=MahalehMaDB") { }
//
public DbSet<Man> Mans { get; set; }
public DbSet<City> Cities { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<RoleGroup> RoleGroups { get; set; }
public DbSet<Service> Services { get; set; }
public DbSet<ServiceRole> ServiceRoles { get; set; }
public DbSet<ServiceDetails> ServiceDetails { get; set; }
public DbSet<ActionProvider> ActionProviders { get; set; }
public DbSet<RoleGroupUser> RoleGroupUsers { get; set; }
//
public static void InitializeDatabase()
{
using (DatabaseContext context = new DatabaseContext())
{
context.Database.CreateIfNotExists();
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext, Configuration>());
}
}
}
<connectionStrings>
<add name="MahalehMaDB"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MahalehDatabase;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework"
providerName="System.Data.SqlClient" />
而且我很困惑是什么阻止了 EF5 生成带有表的数据库。 请注意,InitializeDatabase 方法是在 Global.asax 文件的 Application_Start 方法中调用的。 InitializeDatabase 方法有问题吗? Controller 类也实现不完整,难道是原因?一直在网上冲浪,但受不了,所以决定来这里!
有没有人知道如何处理这个问题?如果信息不够,请告诉我。
敬请欣赏...
最佳答案
使用此代码:public DatabaseContext() : base("MahalehMaDB") { }
此代码是连接字符串名称的无效值:base("name:MahalehMaDB") { }
关于c# - EF Code First 数据库不是使用 MVC3 生成的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16749929/