Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在一个模型中选择不同表的内容_C#_Sql_Asp.net_Sql Server_Entity Framework - Fatal编程技术网

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();