asp.net-mvc - EF Code First 不生成表

标签 asp.net-mvc entity-framework ef-code-first

我正在开发一个 EF Code First 站点,并且我已经编写了我的类和上下文类,其来源是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using MySite.SalesTool.Data.Entities;
using System.Data.Entity.ModelConfiguration.Conventions;


namespace MySite.SalesTool.Data
{
    public class SalesToolEntities : DbContext
    {
        public DbSet<User> Users { get; set; }
        public DbSet<UserRole> UserRoles { get; set; }
        public DbSet<Job> Jobs { get; set; }
        public DbSet<JobAssigner> JobAssigners { get; set; }
        public DbSet<JobFile> JobFiles { get; set; }
        public DbSet<JobStatus> JobStatuses { get; set; }
        public DbSet<AssignedUser> AssignedUsers { get; set; }
    }
}

该项目构建得很好,但是当我运行该站点时,数据库中没有创建任何表,并且出现一条错误,指出数据库找不到我尝试访问的任何上下文对象,大概是因为代码首先尚未生成任何必要的表。

知道为什么它根本不会生成任何表格,也不给我任何类型的错误信息吗?

最佳答案

你有初始化策略吗?

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<SalesToolEntities>());

从您订阅的内容来看,听起来好像您自己创建了数据库。然后你需要指定一个初始化 策略,否则不会将任何表/数据添加到数据库中,并且查询数据库将导致异常:{“指定的表不存在。[ sometable ]”}

关于asp.net-mvc - EF Code First 不生成表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281447/

相关文章:

entity-framework - Entity Framework Code First - 可以映射现有表并将其设置为只读吗?

c# - 如何在 ASP.NET Core 中使用 npm

asp.net-mvc - 如何在 MVC3 中使用带有自定义验证属性的不显眼的 JS 验证?

c# - 如何在 ASP.NET MVC 中正确编码 MailTo 链接?

c# - 如何实现 IdentityRole (dbo.AspNetRoles) 和自定义实体之间的关系?

c# - Entity Framework 4.1 无法创建 MySQL 数据库

c# - 如何在不属于任何选项卡内容(即登录部分或注册部分)的 JQuery 选项卡上延迟加载内容

c# - 首先在 EF 代码中进行悲观锁定

asp.net-mvc - ASP.NET MVC 中每个请求一个 DbContext(无 IOC 容器)

c# - 在 MVC3 中处理创建和更新复杂数据类型的最佳方法是什么?