从 CodeProperty 获取 StringLength 属性?

Get StringLength attribute from CodeProperty?

我创建了一组 T4 模板来为 DAL 生成单元 类。我遇到的一个问题是根据实体属性的 "StringLength" 属性提供正确长度的字符串。

我尝试访问 CodeProperty.Attributes,但它说有零个属性,我知道这是不正确的。

如有任何帮助,我们将不胜感激!

以防其他人偶然发现这个……

我无法利用 CodeProperty 获取属性。相反,我使用以下内容,因为我已经有一个 CodeClass 和 CodeProperty 可以在我的搜索中使用:

    private int GetStringLength(CodeProperty codeProperty, CodeClass codeClass)
     {
          var type = Type.GetType(codeClass.Name); //you may need to use assembly qualified name
          var props = type.GetProperties();

          if (props != null && props.Any(p => p.Name.Equals(codeProperty.Name)))
          {
               var matchingProperty = props.First(p => p.Name.Equals(codeProperty.Name);
               var strLenAttr = (StringLengthAttribute) matchingPropery.GetCustomAttributes(typeof(StringLengthAttribute), true).FirstOrDefault();
               if (strLenAttr == null) return 0;
               return strLenAttr.MaximumLength;
          }
          return 0;
     }