c# mysql 表增加字段_C#数据库模型类添加表和列字段描述

本文介绍了如何在C#中为数据库模型类添加MySQL表和列字段描述。通过创建BaseMappingName基类,然后分别定义TableAttribute和ColumnAttribute来指定表名和列名。此外,还提供了一个DBMappingExtend类用于方便地获取类和属性的映射名称。在实际应用中,可以通过装饰类和属性使用这些特性,如[Table(""Company"")][Column(""Name1"")], 并使用Type对象获取属性的映射名称。" 103733294,5761366,报表工具常见问题与解决方案大全,"['报表工具问题', '报表软件', '报表设计', 'BI工具', '数据展现']
摘要由CSDN通过智能技术生成

1.添加基类BaseMappingName,继承Attribute

public class BaseMappingName: Attribute

{

public string _mappingName = null;

///

/// 初始化类变量

///

///

public BaseMappingName(string mappingName)

{

this._mappingName = mappingName;

}

///

/// 获取名称

///

///

public string GetMappingName()

{

return this._mappingName;

}

}

2.添加表名类(约束为类)继承BaseMappingName

[AttributeUsage(AttributeTargets.Class)]//约束:适用于类

public class TableAttribute: BaseMappingName

{

///

/// 类的初始化

///

///

public TableAttribute(string tableName):

base(tableName)

{

}

}

3.添加列名(约束为类的属性)继承BaseMappingName

[AttributeUsage(AttributeTargets.Property)]//约束为类的属性

public class ColumnAttribute: BaseMappingName

{

///

/// 类的初始化

///

///

public ColumnAttribute(string columnName) :

base(columnName)

{

}

//public string GetMappingName()

//{

// return this._ColoumnName;

//}

}

4.类名获取类

public static class DBMappingExtend

{

public static string GetMappingName(this T t) where T : MemberInfo//this 扩展方法

{

if (t.IsDefined(typeof(BaseMappingName), true))

{

var attribute =

t.GetCustomAttribute();

return attribute.GetMappingName();

}

else

{

return t.Name;

}

}

}

5.使用方法

类的使用

[Table("Company")]

public class Company: BaseModel

{

[Column("Name1")]

public string Name { get; set; }

}

类的属性获取

Type type = typeof(Class.Company);

var gg =string.Join(",",type.GetProperties().Select(p=>p.GetMappingName()));

MessageBox.Show(gg);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值