如何首先使用EF核心代码创建联接表

tocoolforscool

我有以下三种模型:

public class Card
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Class { get; set; }
    public string Image { get; set; }
}

public class Deck
{
    public int ID {get; set;}
    public string Name {get; set;}
    public string Class {get; set;}
    public virtual ICollection<DeckCard> DeckCards {get; set;}
}

public class DeckCard
{
    public int ID {get; set;}
    public int DeckID {get; set;}
    public int CardID {get; set;}
}

我想本质上将DeckCard模型用作联接表。我需要能够在我的DecksController / Index视图中填充它。谁能给我指导或指出正确的方向?

请注意,Card表是静态表(我不知道这是否是正确的用语,但是游戏当前使用的任何纸牌(这是一个套牌建造网站)都将填充它并保持不变。)

索希尔·阿里扎德(Soheil Alizadeh)

第一。您无需为一对多关系创建模型(DeckCard),以便EF自动在数据库中创建此表。

第二。OnModelCreating在您的DbContext类中添加或覆盖Method例如:

MyApplicationDbContext.cs

 public class MyApplicationDbContext : DbContext
 {
     public DbSet<Card> Cards { get; set; }

     public DbSet<Deck> Decks { get; set; }

   // This is Model Builder
     protected override void OnModelCreating(DbModelBuilder builder)
     { 
           modelBuilder.Entity<Card>()
                .HasRequired<Card>(_ => _.Card)
                .WithMany(_ => _.Deck);

     }

 }

DecksController.cs

 public ActionResult Index()
 { 
      var model = context.Card.AsNoTracking().Include(_ => _.Decks).ToList(); 

      return View(model);
 }

对于带有Eager加载的联接查询,请使用Include();

另外,请参见下面的链接:

从Entity Framework 6中获得更多性能

实体框架加载相关实体

配置一对多关系

EF核心中的关系

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

实体框架核心2-代码首先不创建表

尝试首先使用EF核心代码的DbUpdateException错误

如何首先使用带有数据库凭据轮换的 postgresql 设置由 EF 核心代码创建的对象的默认所有者?

如何首先使用ef核心代码将decimal(18,2)更改为decimal(38,35)

MVC 5-如何首先使用EF代码更新关系表

如何首先使用代码在已创建的数据库中创建ASP.net身份表?

首先使用 EF 代码错误地创建了外键

如何使用EF核心定义层级表

如何使用EF核心添加新表

我可以首先使用EF代码和.net核心生成迁移脚本吗

如果首先不使用EF核心代码进行映射,则会出现错误

我如何使用EF.Core数据库创建脚手架表首先包含特殊字符$

如何首先在asp.net核心中的代码中创建关系

如何使用JPA注释创建联接表?

您如何首先使用代码创建数据库?

如何首先使用代码在Entity Framework 6.2中创建索引

如何首先使用c#实体代码显示表的ID

如何在棱镜WPF模块化应用程序中首先使用代码动态创建数据库表?

首先使用EF代码保存VM属性

首先使用EF代码映射复合键

如何首先强制EF代码重新创建数据库?

如何首先从数据库EF模型向现有代码添加其他表?

如何使用EF核心在SQLite中创建自动增量列?

如何使用 EF 创建视图或计算表

EF Core代码首先自行创建其他属性

如何首先使用MVC和EF代码写入Excel-最佳实践

如何首先将 EF Core 代码与 azure synapse 一起使用

不同表共享相同字段时如何设计EF核心代码优先数据库

由于后备字段,EF核心代码首先引发错误的问题