gpt4 book ai didi

entity-framework - EF5 Code First - 数据注释与 Fluent API

转载 作者:行者123 更新时间:2023-12-04 04:46:50 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Mixing Fluent API and DataAnnotations in EF code first

(3 个回答)


3年前关闭。




我是 Entity Framework 的新手,即将开始使用 EF5 Code First 的新 ASP.NET MVC 项目。

据我了解,您可以对域模型对象中的属性使用数据注释,也可以使用 Fluent API 来定义属性数据类型(在创建对象时在数据库中)、大小、它们是否是可为空等。

是否有一般推荐的方法来使用?

我看不到在使用数据注释时如何在数据库中创建该属性时指定数据类型和大小,而使用 Fluent API,您似乎可以执行以下操作:

Property(g => g.ModelName).HasColumnType("varchar");
Property(g => g.ModelName).HasMaxLength(100);
Property(g => g.ModelName).IsRequired();

例如,当使用数据注释时,默认情况下它似乎对我的所有字符串属性使用 nvarchar(MAX)。

有没有办法使用数据注释来完成上述操作?它是否提供与 Fluent API 相同程度的“调整”,还是我应该单独保留域模型并将所有这些“调整”分开以将每个域模型对象的 Fluent API 类分开?

最佳答案

我会推荐 fluent API。数据注释是一个子集,例如不包括关系的级联删除。

此外,您可能会考虑使用持久性逻辑(例如不适当的数据库列名称)污染模型。

关于entity-framework - EF5 Code First - 数据注释与 Fluent API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18055532/

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