如何设置字符串属性C#EF的分隔字的最大长度

eve*_*v92 6 c# string wpf entity-framework properties

这是我模型的一部分

public class Sensor
{
    public int Id { get; set; }

    [Required]
    [MaxLength(40)]
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

名称是一些文本,其最大长度为40个符号.在这个文本字段中可能只有很少的单词.

我的问题是可以在Name属性中设置单词的最大长度吗?

例如:"运动检测器".我希望这个词最多8个符号.这意味着运动和检测器需要少于8个符号长度.用户不能像长度为12个符号的"MotionDetector"那样编写.

Ian*_*Ian 4

一种方法是您可以使用setter属性中的 来控制每个单词的最大长度:

set {
  string[] words = value.Split(' ')
  if (words.Any(x => x.Length > 8)){
      //error, do something
  } else { //OK, pass
      Name = value; //only update Name if the length for all words are valid
  }
}
Run Code Online (Sandbox Code Playgroud)