DataAnnotations问题

时间:2017-05-26 13:11:45

标签: c# asp.net database visual-studio data-annotations

我在Visual Studio上关注ASP.net MVC的一些教程,目前我正在做关于DataBase的部分,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”表中的一个Fields上的[Required]注释也没有效果,因为“Nullable”属性始终为True。

你能帮我吗?

1 个答案:

答案 0 :(得分:1)

在我看来,你没有更新数据库。更改模型(添加注释,重命名/创建字段等)时,您还必须将这些更改应用于数据库。它被称为迁移。它可以从Package Manager控制台(Tools - > Nuget Package Manager - > Package Manager Console)执行。首先是最重要的。来自控制台的所有命令都应该以项目为目标,包含Context类(任何继承DbContext的类,根据本教程,这是您案例中的BddContext类)。

  1. 在项目中启用迁移:打开PM控制台,从下拉列表中选择所需项目,键入以下命令"启用 - 迁移"然后按Enter键
  2. 成功启用迁移后,通过执行命令" Add-Migration"
  3. 创建一个迁移。
  4. 创建迁移后,执行"更新数据库"命令
  5. 彻底检查正在创建的迁移文件。实际上,此文件将包含将应用于数据库的更改列表。您可以阅读有关迁移的更多信息here。如果您想使用Entity Framework

    ,请强烈建议您这样做