首页 > 解决方案 > 如何使用 Entity Framework Core 在视图中创建列表 (SQL)

问题描述

我有这个代码:

public class Anh  
{
   public int Id { get; set; }
   public int Name { get; set; }
   public List<Em> Ems { get; set; }
}

public class Em 
{
   public int Id { get; set; }
   public int Name { get; set; }
   public int IdAnh { get; set; }
   public Anh Anh { get; set; }
}

我在 SQL 中创建了一个视图。它是这样的返回数据:

ID 姓名 同上 名字Em
1 约翰 2 卡里
1 约翰 3 咪咪

但是当我想在 Anh 类中创建一个 List Em 时,我失败了:

modelBuilder.Entity<Anh>(eb =>
        {
            eb.HasNoKey();
            eb.ToView("View_AnhEm");
            eb.Property(v => v.Id).HasColumnName("Id");
            eb.Property(v => v.Name).HasColumnName("Name");
            eb.HasOne(x => x.Anh).WithMany(x =>x.Ems).HasForeignKey(x => x.IdAnh);
           
        })

除非我将 Anh 类和 Em 类的属性组合为同一个类。但是 ANH 可能有更多的 EM。而 EM 只有一个 ANH。

public class AnhEm  
{
   public int IdAnh { get; set; }
   public int NameEm { get; set; }
   public int IdEM { get; set; }
   public int NameEm { get; set; }
}

标签: sql.net-coreviewentity-framework-core

解决方案


推荐阅读