C#Entity Framework一个映射到两个DB列的变量

时间:2016-07-06 19:48:28

标签: c# entity-framework tsql

就像问题标题所说,我有两个DB列映射到一个变量(或者看起来似乎如此),我正在寻找纠正它。

以下是我实体的财产:

 [Required, AuditField("Project", typeof(Project))]
 public Guid Project_Id { get; set; }
 public virtual Project Project { get; set; }

在我的数据库中,我曾经有过:

 CONSTRAINT [FK_dbo.Tasks_dbo.Projects_ProjectId] FOREIGN KEY ([Project_Id]) REFERENCES [dbo].[Projects] ([Id])

以及

 CONSTRAINT [FK_dbo.Tasks_dbo.Projects_ProjectId] FOREIGN KEY ([Project_Id1]) REFERENCES [dbo].[Projects] ([Id])

由于重命名有问题。我想把它减少到只有一个Project_Id,但我不确定如何。如果我删除其中一个语句(和相关的FK),特别是Project_Id我收到以下错误:

 System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Invalid column name 'Project_Id'.

列名'Project_Id'无效。

但如果我将其重命名为Project_Id1并重新运行,则会出现以下错误:

 System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Invalid column name 'Project_Id1'

当我同时进入时,它正在工作,这使我得出了我之前达成的结论。我一直无法在StackOverflow或其他任何地方找到相关帖子,所以非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

添加两个,它再次工作。我现在要保持原样。