我是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类?
我会推荐流利的API。数据批注是一个子集,例如不包括级联删除关系。
另外,您可能会考虑使用诸如数据库列名之类的持久性逻辑来污染模型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句