gpt4 book ai didi

c# - DataAnnotations问题

转载 作者:搜寻专家 更新时间:2023-10-30 23:34:57 25 4
gpt4 key购买 nike

我正在学习一些关于 Visual Studio 上的 ASP.net MVC 的教程,目前我正在做关于数据库的部分,Code First

我不明白为什么,但我的 DataAnnotations 似乎没有被考虑在内。

[Table("Restos")]
public class Resto
{
public int Id { get; set; }
[Required][MaxLength(10)]
public string Nom { get; set; }
public string Telephone { get; set; }
}

其实我创建了一个类“Resto”,所以表名自动命名为“Restoes”,但是我不要这个名字,我要“Restos”,没有“e”因此,为了让我的“Restoes”表自称为“Restos”,我使用了 [Table ("Restos")] 注释,但它没有更改名称,我的“Restoes”表中的一个字段上的 [Required] 注释也没有效果,因为“Nullable”属性始终为 True。

你能帮帮我吗?

最佳答案

在我看来,您没有更新数据库。当您更改模型(添加注释、重命名/创建字段等)时,您还必须将这些更改应用到数据库。这称为迁移。它可以从包管理器控制台(工具 -> Nuget 包管理器 -> 包管理器控制台)执行。首先也是最重要的。来自控制台的所有命令都应该针对项目,包含 Context 类(根据教程,任何继承 DbContext 的类,在您的情况下这是 BddContext 类)。

  1. 在您的项目中启用迁移:打开 PM 控制台,从下拉列表中选择所需的项目,键入以下命令“Enable-Migrations”并按 Enter
  2. 成功启用迁移后,通过执行命令“Add-Migration”创建一个
  3. 创建迁移后,执行“更新数据库”命令

彻底检查正在创建的迁移文件。事实上,该文件将包含将应用于数据库的更改列表。您可以阅读有关迁移的更多信息 here .如果您想使用 Entity Framework ,强烈建议您这样做

关于c# - DataAnnotations问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44202531/

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