使用 Entity Framework 将模型映射到现有数据库 table

Map model to existing database table using Entity Framework

我在尝试使用 Entity Framework 将我的 class 映射到现有的 table 时遇到了一些困难。我目前首先使用代码,但没有它创建了 table,我无法将它映射到创建的模型。

我的class:

 [Table("AgentCallsByPartner")]
public class AgentCallsByPartnerModel
{
    [Key]
    public int AgentCallID { get; set; }

    [Required]
    public DateTime CallDate { get; set; }

    public string CustomerID { get; set; }

    public string AgentNo { get; set; }

    public string AccountCreated { get; set; }

    public string QuoteStarted { get; set; }

    [Required]
    public string GroupName { get; set; }

    [Required]
    public string GroupRollup { get; set; }

}

上下文

    public DbSet<AgentCallsByPartnerModel> AgentCallsByPartner { get; set; }

这是我的 table

但是当我尝试从数据库中获取用户时,出现异常

创建数据库后 DbContext 发生了变化....

那么我的错误是什么?谢谢

你可以用几种方式来执行我只描述几种方式

从“工具”菜单中单击 Library Package Manager,然后单击 Package Manager Console

enable-migrations 命令在您的项目中创建一个 Migrations 文件夹,并在该文件夹中放入一个 Configuration.cs 文件,您可以编辑该文件以配置 Migrations。

(如果您错过了上面指示您更改数据库名称的步骤,Migrations 将找到现有数据库并自动执行 add-migration 命令。没关系,这只是意味着您不会 运行 在部署数据库之前测试迁移代码。稍后当您 运行 update-database 命令时什么也不会发生,因为数据库已经存在。)

更详细的迁移http://www.codeproject.com/Articles/801545/Code-First-Migrations-With-Entity-Framework

另一种方式:

How to recreate database in EF if my model changes?

注意:如果您使用迁移,那么大部分时间都不会丢失数据值

更新:

迁移过程中的问题运行 流动命令

Add-Migration Initial -IgnoreChanges

Update-Database -verbose