gpt4 book ai didi

asp.net-mvc - 为什么需要使用 OnModelCreating (首先是 MVC 5 EF 代码)?

转载 作者:行者123 更新时间:2023-12-03 09:12:25 32 4
gpt4 key购买 nike

我不明白使用OnModelCreating函数的原因是什么?

当我可以做类似的事情

[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Int Id { get; set; }

public Int LanguageId { get; set; }
[ForeignKey("LanguageId")]

public Language Language { get; set; }

也许我错了,但是当我读到这一点时,它被解释为它是针对多对多关系的。那么为什么不做这样的事情呢。

ICollection<User> Users

最佳答案

为了在实体之间建立关系,我们有两种选择

  1. DataAnnotation(您正在使用的)
  2. 流畅的 API。

当我们使用 Fluent API 时,我们需要在此 OnModelCreating(DbModelbuilder modelbuilder) 方法中指定我们的关系。因此,当模型第一次创建时,它们应该维护实体之间的关系。

下面的代码 snnipet 中给出了使用此方法的常见示例

modelBuilder.Entity<Department>().Property(t => t.Name).HasMaxLength(50);

使用数据注释属性可以实现相同的效果。

[MaxLength(50)]
public string Name {get;set;}

因此,如果您不想使用 DataAnotation,请使用 Fluent API 来达到您的目的。

关于asp.net-mvc - 为什么需要使用 OnModelCreating (首先是 MVC 5 EF 代码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40909552/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com