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

时间:2016-05-05 17:43:44

标签: c# .net entity-framework entity-framework-4 entity-framework-5

尝试使用Entity Framework将我的类映射到现有表时遇到一些困难。我目前首先使用Code,但是没有它就创建了一个表,我无法将其映射到创建的模型。

我的课程:

 [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; }

这是我的表

enter image description here

但是当我尝试从数据库中获取用户时,我得到了一个异常

自创建数据库以来,DbContext已发生变化....

那我的错是什么?感谢

1 个答案:

答案 0 :(得分:2)

你可以通过几种方式进行几种方式

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

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

(如果您错过了指示您更改数据库名称的上述步骤,迁移将找到现有数据库并自动执行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

     

更新 - 数据库-verbose