gpt4 book ai didi

c# - 如何使用外键属性的自定义名称映射相关对象,例如 PostId 而不是 Post_Id

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

所以我将使用带有帖子和评论的博客数据库模型的陈词滥调示例。

public class Post {
public int Id { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}

public class Comment {
public int Id { get; set; }
public string Body { get; set; }
public virtual Post Post { get; set; }
}

当然,PostComment是一对多的关系。

如果我让 Entity Framework 为我创建数据库,它会在 Comments 表中添加一个 Post_Id 列。我希望将列命名为 PostId,但我不想将 PostId 属性添加到我的 Comments 类。有没有办法通过 DataAnnotations 实现这一点? , DbModelBuilder , migrations , 还有什么我不知道的?

如果这个问题已经得到解答,我深表歉意,但我无法在 SO 甚至 Google 上找到它。谢谢。

最佳答案

在我发布这篇文章后,我立即找到了答案。

在派生自 DbContext 的类上声明此方法。

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Comment>()
.HasRequired(t => t.Post)
.WithMany(t => t.Comments)
.Map(m => m.MapKey("PostId"));
}

关于c# - 如何使用外键属性的自定义名称映射相关对象,例如 PostId 而不是 Post_Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12048926/

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