2013-10-30 31 views
0

我正在构建一个MVC4应用程序并使用Entityframework。 我正在使用代码第一个模型。EntityFramework当columnname更改错误是无效的列名称

我的项目类如下:

public class Project 
    { 
    [Key] 
     public int ProjectId { get; set; } 
     public ProjectContact ApprovalContact { get; set; } 

     public ProjectContact BillContact { get; set; } 

     public ProjectContact ProjectContact { get; set; } 
    } 

我ProjectContact类如下:

public class ProjectContact 
    { 
     [Key] 
     public int ProjectContactId { get; set; } 
     public string JobTitle { get; set; } 
     public string Number { get; set; } 
     public string ProjectContactMSFNo { get; set; } 
     public string FullName { get; set; } 

    } 

虽然产生的EntityFramework数据库使用代码第一

SELECT [ProjectId] 
     ,[ApprovalContact_ProjectId] 
     ,[BillContact_ProjectId] 
     ,[ProjectContact_ProjectId] 
    FROM [Db].[dbo].[Projects] 

到目前为止它工作正常

现在当 我换柱[ApprovalContact_ProjectId][ApprovalContact] 并尝试在数据库中插入项目中,我得到错误:无效的列名称ApprovalContact_ProjectContactId ”。

当我尝试在模型构建器映射模型名称我得到错误:Models.ProjectContact必须是非可空

如何分辨的DbContext映射[ApprovalContact_ProjectId][ApprovalContact ] ??

+0

你重命名[ApprovalContact_ProjectId]至[ApprovalContact ]在数据库中直接? – Sai

+0

否..我正在更改迁移Initial_Migration脚本并将其通过程序包管理器控制台运行到更新数据库 – user2739679

+0

我可以知道重命名的原因吗? – Sai

回答