实体框架-更新数据库-不创建数据库

棕褐色

Visual Studio 2013

我试图在PluralSight上学习asp.net MVC。我使用以下类创建了一个名为eManagr.Domain的项目(dll):Department / Employee / IDepartmentDatasource

部门

public class Department
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
    public virtual ICollection<Employee> Employees { get; set; }
}

Employee.cs

public class Employee
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
}

IDepartmentDataSource

public interface IDepartmentDataSource
{
    IQueryable<Employee> Employees { get; }
    IQueryable<Department> Departments { get; }
}

我使用以下文件创建了基础结构文件夹:DepartmentDb.cs

public class DepartmentDb : DbContext, IDepartmentDataSource
{
    public DbSet<Employee> Employees {get; set;}
    public DbSet<Department> Departments {get; set;}

    IQueryable<Employee> IDepartmentDataSource.Employees
    {
        get { return Employees;  }
    }

    IQueryable<Department> IDepartmentDataSource.Departments
    {
        get { return Departments; }
    }
}

然后,在项目创建过程中,我使用带有Internet模板的MVC 4创建了另一个项目,称为eManager.Web。

运行Enable-Migration时,它说我有两个[eWeb.Domain,eWeb.Model.Users],然后使用以下命令将其告诉Enable-Migration:

Enable-Migration -ContextTypeName DepartmentDb

这将创建迁移文件夹和一个名为Configurations.cs的文件

    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
    }

    protected override void Seed(eManager.Web.Infrastructure.DepartmentDb context)
    {
        context.Departments.AddOrUpdate(t => t.Name,
            new Department() { Name="Engineering"},
            new Department() { Name = "Sales" },
            new Department() { Name = "Shipping" },
            new Department() { Name = "HR" }
            );
    }

编辑-来自Web.Config的连接字符串-

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-eManager.Web-20140216202751;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-eManager.Web-20140216202751.mdf" providerName="System.Data.SqlClient" />

当我运行以下命令时,得到以下响应:PM> update-database指定'-Verbose'标志以查看应用于目标数据库的SQL语句。暂无基于代码的迁移。运行种子方法。下午>

运行此程序后,我想在我的App_Data中看到一个数据库文件,但是该文件不存在,并且当我使用SQL Server Object Explorer时,即使这样做,也不会创建该数据库。

努尔赞·阿特巴耶夫

您可以从Web.config提供连接字符串吗?另外,是否有一个名称与您的连接字符串相同的数据连接(服务器资源管理器->数据连接)?

我认为,向DepartmentDb上下文类添加无参数的构造函数可以解决您的问题

public DepartmentDb ()
        : base("name=DefaultConnection")

其中name = DefaultConnection必须是您的连接字符串名称

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

实体框架核心更新-特定于数据库的迁移

来自分类Dev

测试实体框架数据库连接

来自分类Dev

实体框架Sqlite数据库:NotSupportedException

来自分类Dev

在并发数据库更新时锁定实体框架代码

来自分类Dev

实体框架数据库更新优先多重性冲突

来自分类Dev

实体框架支持多数据库

来自分类Dev

身份实体框架库-更新数据库[MySQL]

来自分类Dev

更新数据库条目MVC实体框架

来自分类Dev

实体框架数据库连接错误

来自分类Dev

实体框架数据库优先不添加表

来自分类Dev

如何使用实体框架从DataGrid更新数据库

来自分类Dev

实体框架无法更新数据库

来自分类Dev

实体框架数据库多对多

来自分类Dev

尝试先使用实体框架代码更新数据库

来自分类Dev

实体框架核心,更新数据库不考虑属性

来自分类Dev

实体框架数据库更新

来自分类Dev

实体框架数据库表关联

来自分类Dev

使用DTO实体框架,如何更新数据库?

来自分类Dev

实体框架5数据库请求

来自分类Dev

实体框架不会更新Amazon RDS SQL数据库

来自分类Dev

使用实体框架的导航属性更新数据库

来自分类Dev

实体框架数据库差异

来自分类Dev

实体框架-“从数据库更新”未添加表

来自分类Dev

实体框架“从数据库更新模型,表成为关系

来自分类Dev

尝试先使用实体框架代码更新数据库

来自分类Dev

Automapper,实体框架更新数据库

来自分类Dev

实体框架更新数据库

来自分类Dev

使用实体框架核心更新数据库中的列

来自分类Dev

实体框架不生成数据库类