Entity framework EF5代码优先-数据注释与Fluent API
我是Entity Framework的新手,即将开始一个新的ASP.NET MVC项目,首先使用EF5代码 据我所知,您可以对域模型对象中的属性使用数据注释,也可以使用Fluent API来定义属性数据类型(创建对象时在DB中)、大小、它们是否可为空等等 是否有一个通用的推荐方法来使用 我看不出在使用数据注释时,如何在DB中创建该属性时指定该属性的数据类型和大小,而使用Fluent API,您似乎可以执行以下操作:Entity framework EF5代码优先-数据注释与Fluent API,entity-framework,data-annotations,fluent,Entity Framework,Data Annotations,Fluent,我是Entity Framework的新手,即将开始一个新的ASP.NET MVC项目,首先使用EF5代码 据我所知,您可以对域模型对象中的属性使用数据注释,也可以使用Fluent API来定义属性数据类型(创建对象时在DB中)、大小、它们是否可为空等等 是否有一个通用的推荐方法来使用 我看不出在使用数据注释时,如何在DB中创建该属性时指定该属性的数据类型和大小,而使用Fluent API,您似乎可以执行以下操作: Property(g => g.ModelName).HasColumnT
Property(g => g.ModelName).HasColumnType("varchar");
Property(g => g.ModelName).HasMaxLength(100);
Property(g => g.ModelName).IsRequired();
例如,在使用数据注释时,默认情况下,所有my string属性都使用nvarchar(MAX)
有没有一种方法可以使用数据注释来完成上述操作?它是否提供了与Fluent API相同程度的“调整”,或者我是否应该将域模型单独放置,并将所有这些“调整”分离出来,以便为每个域模型对象分离Fluent API类?我建议使用Fluent API。数据注释是一个子集,例如不包括关系的级联删除
也可以考虑使用持久性逻辑(例如数据库列名称不合适)来污染模型。
你知道fluent API now(2013年12月)与MVC验证的工作方式是否类似于数据注释?很难跟上不断变化的功能和API。。。