使用 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
我在尝试使用 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