C# 使用实体框架将模型映射到现有数据库表
在尝试使用实体框架将类映射到现有表时,我遇到了一些困难。我目前首先使用代码,但创建表时没有代码,因此无法将其映射到创建的模型 我的班级:C# 使用实体框架将模型映射到现有数据库表,c#,.net,entity-framework,entity-framework-4,entity-framework-5,C#,.net,Entity Framework,Entity Framework 4,Entity Framework 5,在尝试使用实体框架将类映射到现有表时,我遇到了一些困难。我目前首先使用代码,但创建表时没有代码,因此无法将其映射到创建的模型 我的班级: [Table("AgentCallsByPartner")] public class AgentCallsByPartnerModel { [Key] public int AgentCallID { get; set; } [Required] public DateTime CallDate { get; set; }
[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; }
公共数据库集
但是当我试图从数据库中获取用户时,我得到了一个异常
数据库创建后,DbContext已更改
那我错在哪里?谢谢你可以用几种方法表演,我只描述几种方法
从“工具”菜单中,单击库软件包管理器
,然后单击软件包管理器控制台
enable migrations
命令在项目中创建一个migrations文件夹,并在该文件夹中放入一个Configuration.cs文件,您可以编辑该文件以配置迁移
(如果您错过了上面指示您更改数据库名称的步骤,则迁移将找到现有数据库,并自动执行添加迁移
命令。没关系,这只意味着您在部署数据库之前不会运行迁移代码测试。稍后,当您运行更新数据库
命令时,将不执行任何操作。)将发生,因为数据库已存在。)
更详细的迁移
另一种方式:
注意:如果使用迁移,则在大多数情况下不会丢失数据值
更新:
迁移过程中出现问题运行flowing命令
添加迁移初始-忽略更改
更新数据库-详细
您是否更新了迁移?您是否在模式更改时应用了drop create new database?我没有,因为表是直接在sql server中创建的,我需要做些什么吗?您对迁移有什么想法吗?请检查我的答案我运行了添加迁移命令,它们更新了database,它会抛出一条红色消息,表示已经有一个名为“Ag”的对象数据库中的entCallsByPartner。请尝试使用此博客。。。