zoukankan      html  css  js  c++  java
  • 数据库特性

    /// <summary>
    /// 数据库表名
    /// </summary>
    [AttributeUsage(AttributeTargets.Class)]
    public class DBTableNameAttribute : Attribute
    {

    public string Name { get; set; }
    public DBTableNameAttribute(string Name)
    {
    this.Name = Name;
    }
    }
    /// <summary>
    /// 主键名
    /// </summary>
    [AttributeUsage(AttributeTargets.Class )]
    public class DBTableFiledPrimaryKeyAttribute : Attribute
    {

    public string Name { get; set; }
    public DBTableFiledPrimaryKeyAttribute(string Name)
    {
    this.Name = Name;
    }
    }
    /// <summary>
    /// 字段名
    /// </summary>
    [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
    public class DBTableFiledNameAttribute : Attribute
    {

    public string Name { get; set; }
    public DBTableFiledNameAttribute(string Name)
    {
    this.Name = Name;
    }
    }
    /// <summary>
    /// 唯一值
    /// </summary>
    [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
    public class DBTableFiledUniqueAttribute : Attribute
    {


    public DBTableFiledUniqueAttribute( )
    {

    }
    }

    /// <summary>
    /// 对MemberInfo类扩展方法
    /// </summary>
    public static class CustomMemberInfo
    {
    /// <summary>
    /// 判断是否存在相应的特性
    /// </summary>
    /// <typeparam name="T">特性类</typeparam>
    /// <param name="type"></param>
    /// <returns></returns>
    static public bool HasAttribute<T>(this System.Reflection.MemberInfo type) where T : class
    {
    object[] attributes = type.GetCustomAttributes(false);

    foreach (Attribute attr in attributes)
    {

    //判断Attribute 中是否 为 UniqueColumnAttribute

    if (attr is T)
    {
    return true;

    }

    }
    return false;
    }
    /// <summary>
    /// 获取相应的Attribute对象 如 var attr=typeof(Person).GetAttribute<DBTableNameAttribute>();
    /// </summary>
    /// <typeparam name="T">Attribute类</typeparam>
    /// <param name="type">实体类</param>
    /// <returns>Attribute对象</returns>
    static public T GetAttribute<T>(this System.Reflection.MemberInfo type) where T : class
    {


    Attribute classAttribute = Attribute.GetCustomAttribute(type, typeof(T));

    return classAttribute as T;
    }
    }

  • 相关阅读:
    图解JQUERY尺寸及位置定义
    JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
    js拖拽的封装
    Git详解之九:Git内部原理
    Git详解之八:Git与其他系统
    量化投资的Python库——Tushare
    Python数据分析-Day2-Pandas模块
    Python数据分析-Day1-Numpy模块
    Python全栈开发-Day8-Socket网络编程
    Python全栈开发-Day7-面向对象编程2
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/5428822.html
Copyright © 2011-2022 走看看