EntityFramework 5.0变量数据注释

时间:2012-11-07 15:57:22

标签: data-annotations entity-framework-5

我正在使用来自Database示例的DisplayText加载数据: 代码简历:

public class AtributosInModels : DisplayNameAttribute
{
    string displayName;
    private static int lenght;

    public static int Lenght
    {
        get { return lenght; }
        set { lenght = value; }
    }

    vw_UsuarioPerfilAtributoRepository vw_usuarioPerfilAtributoRepository = new vw_UsuarioPerfilAtributoRepository();

    public AtributosInModels(string key) 
    {

        _key = key;

    }

    public override string DisplayName
    {
        get
        {
            Func<vw_UsuarioPerfilAtributo, bool> expressionPerfil = Perf => Perf.NomeAtributo == _key;
            var entity = vw_usuarioPerfilAtributoRepository.GetSingle(expressionPerfil);

            if (entity.Tamanho!=null)
            lenght = entity.Tamanho.Value;

            try { displayName = entity.NomeLabel; }
            catch (Exception) { displayName = null; }
            return string.IsNullOrEmpty(_key) ? "" : displayName;
        }
    }



    public string _key { get; set; }
}

}

    [AtributosInModels("NomeUsuario")]
    [MaxLength(AtributosInModels.Lenght)]
    public string NomeUsuario { get; set; }

如果代码很乱,我就把它充满了**

现在我想从数据库加载Lenght,DataType,Permission,DisplayFormat。 但是这类模型不能操纵变量,我正在尝试使用静态方法

[MaxLength(AtributosInModels.Lenght)]

错误5属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式

失败。

1 个答案:

答案 0 :(得分:0)

必须在编译时知道属性参数。因此它必须是一个恒定的值。