EF代码第一数据库不是使用MVC3生成的
本文关键字:MVC3 代码 数据库 EF | 更新日期: 2023-09-27 18:15:13
我正在使用EF Code First和MVC3开发一个应用程序。该解决方案包含三个项目; ProjectName。模型只涉及POCO类,ProjectName。应用程序涉及MVC3 web项目,从默认的模型文件夹(由MVC本身创建)被删除,和ProjectName。存储库包含一个通用存储库,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的Application_Start方法中调用的。asax文件。InitializeDatabase方法是否有问题?控制器类也实现不完整,这可能是原因吗?我一直在网上冲浪,但不能处理它,因此决定来这里!
谁有解决这个问题的办法?如果这些信息还不够,请告诉我。请欣赏…
使用此代码:public DatabaseContext() : base("MahalehMaDB") { }
此代码是连接字符串名称的无效值:base("name:MahalehMaDB") { }
public Context(): base("MahalehMaDB"){ }
在web.config中:
<add name="MahalehMaDB" connectionString="Data Source=yourservername;
InitialCatalog=database;
Integrated Security=true"providerName="System.Data.SqlClient"/>