gpt4 book ai didi

c# - 首先在 Entity Framework 代码中定义外键

转载 作者:太空宇宙 更新时间:2023-11-03 23:08:03 25 4
gpt4 key购买 nike

在下面的模型示例中(取自 official ASP.NET site )我知道他们正在定义 Blogs 之间的外键关系(父级)和 Posts ( child ) table 。但是在下面的博客类中,public List<Post> Posts { get; set; } 有什么用?属性(property)?如果我删除此属性并从此模型生成 SQL Server 数据库,我仍然可以看到数据库已成功创建 BlogIdPosts表作为 Blog 的外键表格

namespace EFGetStarted.AspNetCore.NewDb.Models
{
public class BloggingContext : DbContext
{
public BloggingContext(DbContextOptions<BloggingContext> options)
: base(options)
{ }

public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
}

public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }

public List<Post> Posts { get; set; }
}

public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }

public int BlogId { get; set; }
public Blog Blog { get; set; }
}
}

最佳答案

南,

Blog 类中的 Posts 属性在您需要直接从 Blog 的实例访问帖子时会很有用对象。

可以使用 Include 方法通过延迟加载或 Entity Framework Eager 加载来加载帖子:

    var blogs1 = context.Blogs 
.Include(b => b.Posts)
.ToList();

如果删除它不会阻止正确创建数据库。

关于c# - 首先在 Entity Framework 代码中定义外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40470692/

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