当我将数据库导入到EDMX模型时,我得到以下有关最大长度的信息
在上图中,我有一个字符串列,最大长度为 250
有没有办法检查(编码时)这个最大长度,而不需要查看EDMX属性?
我希望如何显示信息的示例:
如果我输入类似Class.ColumnName
的内容,它会在智能感知中显示,就像摘要信息一样。
答案 0 :(得分:0)
Intellisense将显示文档中的任何文本 - >设计师的摘要字段。这给了你一些选择。
1)你可以真的是OCD,在设计师中编辑你的EDMX后,你一定要总是填写这个字段。
2)您创建了一些脚本来解析.edmx(您可以像编辑任何XML文件一样编辑它),查找指定了<Property>
的{{1}}元素,并添加{{1内部和MaxLength
元素,只是说明最大长度是多少。例如,解析:
<Documentation>
成:
<Summary>
编辑完成后,您只需打开设计器并重新保存即可重建.Designer.cs / vb。
3)以某种方式让Visual Studio知道一个类来自EDMX,然后返回解析EDMX以获取MaxLength,然后更新Intellisense以相应地显示。 (我不知道这是否可行。)
答案 1 :(得分:0)
一种方法是在类中声明它并使用此类(而不是edmx),例如:
[Column("Name")]
[Required(ErrorMessage = "Name is obligatory")]
[StringLength(30, MinimumLength = 3, ErrorMessage = "Name has to have at least 3 characters")]
public string Name { get; set; }
然后我使用用户控件在屏幕上检查它。 (我知道有更好的解决方案)
但是,您可以在以下链接中查看更多相关信息:
StringLength vs MaxLength attributes ASP.NET MVC3 with EF 4.1 Code First
C# How to use DataAnnotations StringLength and SubString to remove text
StringLengthAttribute Class
和String Canonical Functions