Dot-Net

EF Fluent Api 可以設置最小長度嗎?

  • January 4, 2022

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

所以我選擇遵循的方式總是使用 Fluent API 來確定它在 db 中具有的功能,而不是使用註釋來。

但問題是,我找不到設置最小長度的方法。有沒有辦法做到這一點?

而且我注意到,這種方式討論的話題不多。Fluent API 方式流行嗎?

希望我們選擇正確的一面。

目前這在 EF 中是不可能的。如果你真的必須設置一個最小長度,你可以用一個屬性來做:

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

正如您問題下的第一條評論已經說過的那樣,在數據庫中進行最小長度檢查可能並不常見(我自己從未見過),因此當您嘗試輸入長度小於 3 的值時,這只會引發驗證錯誤.

對於字元串屬性使用 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

引用自:https://stackoverflow.com/questions/34533233