gpt4 book ai didi

c# - 当我映射 ProjectId 属性时,代码首先尝试添加 Project_Id 列

转载 作者:行者123 更新时间:2023-11-30 16:52:38 25 4
gpt4 key购买 nike

我在 VS2013 中使用 EF Code First,无法解决这个问题。
我有以下类(class):

项目:

public class Project
{
public int Id { get; set; }

public DateTime CreatedDate { get; set; }
public DateTime UpdatedDate { get; set; }

public virtual ICollection<Document> Documents { get; set; }
}

文档:

public class Document
{
public int Id { get; set; }
public string Name { get; set; }

public DateTime CreatedDate { get; set; }
public DateTime UpdatedDate { get; set; }

public int ProjectId { get; set; }
public virtual Project Project { get; set; }
}

当我在控制台中运行 add-migration xxxx 时,会出现以下迁移:

    public override void Up()
{
DropForeignKey("dbo.Documents", "ProjectId", "dbo.Projects");
AddColumn("dbo.Documents", "Project_Id", c => c.Int());
CreateIndex("dbo.Documents", "Project_Id");
AddForeignKey("dbo.Documents", "Project_Id", "dbo.Projects", "Id");
AddForeignKey("dbo.Documents", "ProjectId", "dbo.Projects", "Id");
}

ProjectId 列和 ProjectId FK 已存在于数据库中。

为什么要添加 Project_Id 列?我不想要那个专栏。
我有其他类(class)/模型,它们可以工作。为什么这个要添加额外的列?

最佳答案

添加这个怎么样?

[ForeignKey("ProjectId")]
public virtual Project Project { get; set; }

还有这个?

[InverseProperty("Project")]
public virtual ICollection<Document> Documents { get; set; }

可能需要包含它才能使用注释。

using System.ComponentModel.DataAnnotations.Schema;

关于c# - 当我映射 ProjectId 属性时,代码首先尝试添加 Project_Id 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32366537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com