我在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。
你能帮我吗?
答案 0 :(得分:1)
在我看来,你没有更新数据库。更改模型(添加注释,重命名/创建字段等)时,您还必须将这些更改应用于数据库。它被称为迁移。它可以从Package Manager控制台(Tools - > Nuget Package Manager - > Package Manager Console)执行。首先是最重要的。来自控制台的所有命令都应该以项目为目标,包含Context类(任何继承DbContext的类,根据本教程,这是您案例中的BddContext类)。
彻底检查正在创建的迁移文件。实际上,此文件将包含将应用于数据库的更改列表。您可以阅读有关迁移的更多信息here。如果您想使用Entity Framework
,请强烈建议您这样做