如何获取实体对象对应的数据库表名 返回

[SugarTable("TNL_TunnelLight")]
public class Light
{
[SugarColumn(ColumnName = "TunnelLight_ID", IsPrimaryKey = true)]
public long LightId { get; set; }
[SugarColumn(ColumnName = "TunnelSection_ID")]
public long SectionId { get; set; }
}
我通过方法 nameof(SqlModels.Light)得到的是Light,如何得到TableName “TNL_TunnelLight”
热忱回答(8)
-
末日鱼 VIP0
2022/9/21var tableName = (typeof(Light).GetCustomAttributes(typeof(SugarTable),false)[0] as SugarTable)?.TableName
需要从自定义特性上获取
0 回复 -
fate sta VIP0
2022/9/21db.Ado.Connection.DataBase
0 回复 -
fate sta VIP0
2022/9/21多租户就是 GetConnecitton(1).Ado.Connection.Database
0 回复 -
joyswing VIP0
2022/9/22@fate sta:是不是理解错了,不是获取database的名称,我的意思是获取自定义的表的名称
0 回复 -
joyswing VIP0
2022/9/28@末日鱼:
你的方法果然有效果,太厉害了,如果Sqlsugar提供一个快捷方法或者函数就更好了了
0 回复 -
joyswing VIP0
2022/9/28@末日鱼:
我想把你的这个方法封装为一个函数,但是参数类型应该是什么?
0 回复 -
fate sta VIP0
2022/9/28db.EntityMaintenance.GetEntityInfo<Student>().DbTableName
有现成的方法
0 回复 -
joyswing VIP0
2022/10/9这个方法果然有效,太好了
0 回复