C# 如何在一个模型中选择不同表的内容
我所拥有的: 两个表,分别称为C# 如何在一个模型中选择不同表的内容,c#,sql,asp.net,sql-server,entity-framework,C#,Sql,Asp.net,Sql Server,Entity Framework,我所拥有的: 两个表,分别称为Content和AboutModel。在Content中,我有以下设计: 关于模型的具有以下设计: 我的代码中包含以下类: public class Content : BaseEntity { public int Id { get; set; } public string WebsiteTitle { get; set; } public string WebsiteDescription { get; set; } p
Content
和AboutModel
。在Content
中,我有以下设计:
关于模型的具有以下设计:
我的代码中包含以下类:
public class Content : BaseEntity
{
public int Id { get; set; }
public string WebsiteTitle { get; set; }
public string WebsiteDescription { get; set; }
public virtual ICollection<AboutModel> About { get; set; }
}
public class ContentConfiguration : IEntityTypeConfiguration<Content>
{
public void Configure(EntityTypeBuilder<Content> b)
{
b.HasKey(x => x.Id);
}
}
public class AboutModel : BaseEntity
{
public int Id { get; set; }
public string Title { get; set; }
public string Message { get; set; }
public int ContentId { get; set; }
public virtual Content Content { get; set; }
}
public class AboutModelConfiguration : IEntityTypeConfiguration<AboutModel>
{
public void Configure(EntityTypeBuilder<AboutModel> b)
{
b.HasKey(x => x.Id);
}
}
但是当我从内容表中获取行时,About
集合为空。我需要帮助了解如何访问about内容
我的目标是拥有一个文件.cshtml
和一个模型内容
,从中访问内容
和关于
内容并将其显示在页面上。实现这一目标的方法很少。您可以尝试:
var queryResult = myDbContexy.Content.Include(foo => foo.About).SingleOrDefault();
或:
您也可以使用LINQ的Join steatment,但我不喜欢;)
有关更多信息,请阅读EF中的延迟加载。谢谢。这就是我要找的。谢谢。
var queryResult = myDbContexy.Content.Include(foo => foo.About).SingleOrDefault();
var anonymousResult = myDbContext.Content.Select(foo => new {Content = foo, About = foo.About}).ToList();