EF Fluent Api可以设置最小长度吗?

时间:2015-12-30 16:24:38

标签: .net entity-framework orm ef-fluent-api

似乎使用Fluent API具有更大的灵活性。

所以我选择跟随的方式总是使用Fluent API来确定它在db中的功能,而不是使用注释。

但问题是,我找不到设置最小长度的方法。 有没有办法执行此操作?

我注意到,没有太多话题讨论这种方式.Fluent API方式很受欢迎吗?

希望我们选择合适的一方。

2 个答案:

答案 0 :(得分:4)

目前这与EF无法实现。如果你真的必须设置一个最小长度,你可以用一个属性来做:

[MaxLength(10),MinLength(3)]
public string MyProperty {get; set;}

正如您问题中的第一条评论已经说过,在数据库中进行最小长度检查可能并不常见(我自己从未见过),因此当您尝试输入长度值时,这只会引发验证错误小于3。

答案 1 :(得分:0)

对于字符串属性,请使用StringLength

[StringLength(30, MinimumLength = 5)]
public string MyStringProperty { get; set; }

https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.stringlengthattribute%28v=vs.110%29.aspx