我是实体框架新手,即将开始使用 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。数据注释是一个子集,例如不包括关系的级联删除。
此外,您可能会考虑使用持久性逻辑(例如不适当的数据库列名称)来污染您的模型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)