C# 即时加载包括使用问题

C# 即时加载包括使用问题,c#,asp.net,asp.net-mvc,entity,C#,Asp.net,Asp.net Mvc,Entity,我对MVC和Entity Framework非常陌生,我正试图学习asp.net教程,但遇到了一个重大障碍。我有一个正确显示的表,但在表中显示外键,而不是引用表中的数据。我想我想在这里利用迫不及待的加载,但我不知道在哪里放置我的包括。我相信asp.net教程是针对旧版本的MVC编写的。我理解我的include应该包含在下面的代码片段中。我试图包括艺术家类型 首先,我的模型课的一部分: modelBuilder.Entity<tblArtist>()

我对MVC和Entity Framework非常陌生,我正试图学习asp.net教程,但遇到了一个重大障碍。我有一个正确显示的表,但在表中显示外键,而不是引用表中的数据。我想我想在这里利用迫不及待的加载,但我不知道在哪里放置我的包括。我相信asp.net教程是针对旧版本的MVC编写的。我理解我的include应该包含在下面的代码片段中。我试图包括艺术家类型

首先,我的模型课的一部分:

        modelBuilder.Entity<tblArtist>()
            .HasMany(e => e.tblArtisttblArtistType)
            .WithRequired(e => e.tblArtist)
            .WillCascadeOnDelete(false);

        modelBuilder.Entity<tblArtist>()
            .HasMany(e => e.tblIssueArtist)
            .WithRequired(e => e.tblArtist)
            .WillCascadeOnDelete(false);

        modelBuilder.Entity<tblArtist>()
            .HasMany(e => e.tblIssueAutograph)
            .WithRequired(e => e.tblArtist)
            .WillCascadeOnDelete(false);

        modelBuilder.Entity<tblArtistType>()
            .HasMany(e => e.tblArtisttblArtistType)
            .WithRequired(e => e.tblArtistType)
            .WillCascadeOnDelete(false);
我知道include代码应该放在publicActionResult Index()方法中,但我不知道如何做到这一点


多谢各位

当您有多对多关系实体框架时 自动创建表接口,但不创建具有外键的关系 你的模特必须是“EX:ArtistId”

例如: Person.cs

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

    public string Name { get; set; }

    public ICollection<Book> Books { get; set; }
  }
    public class Book
{
    public int Id { get; set; }

    public string Name { get; set; }

    public Person Person { get; set; }

    public int PersonId { get; set; }
}
在模型生成器中:

 modelBuilder.Entity<Person>()
             HasMany(_ => _.Books)
            .WithRequired(_ => _.Person)
            .HasForeignKey(_ => _.PersonId)
            .WillCascadeOnDelete();
modelBuilder.Entity()
有很多书
.WithRequired(\u=>\ u0.Person)
.HasForeignKey(\u=>\ u0.PersonId)
.WillCascadeOnDelete();
请参阅:

您特别希望加载/显示哪些信息/数据?请从tblArtistType中键入artistType以及当前显示的数据。艺术家表中的数据。艺术家和艺术家类型是如何连接的?你能把这些课程的相关部分添加到问题中吗?我很高兴在我的问题中添加更多的课程内容。但我想它就在那里。不过我可能错了。艺术家和艺术家类型通过tblArtisttblArtistType连接。该表具有tblArtist和tblArtistType的外键。这回答了你的问题吗?对不起,我不清楚,好的。我开始明白了。我的模型生成器看起来不错。我的每一个类,tblArtist和tblArtistType现在分别有公共虚拟ICollection artistTypes{get;set;}和“公共虚拟ICollection artists{get;set;}”。但是在我的索引页上,我试图使用@Html.ListBox(“artistTypes”,new SelectList(item.artistTypes,“tblArtistTypeID”,“ArtistType”)),并且在“dbo.tblArtistTypetblArtists”上得到了一个无效的对象错误,它在我的构建中任何地方都不存在。我的连接表确实有自己的ID。这可能是问题所在吗?
 modelBuilder.Entity<Person>()
             HasMany(_ => _.Books)
            .WithRequired(_ => _.Person)
            .HasForeignKey(_ => _.PersonId)
            .WillCascadeOnDelete();