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

SqlSugar 老数据
8 567

    [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

  • var tableName = (typeof(Light).GetCustomAttributes(typeof(SugarTable),false)[0] as SugarTable)?.TableName

    需要从自定义特性上获取

    0 回复
  • fate sta fate sta VIP0
    2022/9/21

    db.Ado.Connection.DataBase

    0 回复
  • fate sta fate sta VIP0
    2022/9/21

    多租户就是 GetConnecitton(1).Ado.Connection.Database

    0 回复
  • joyswing joyswing VIP0
    2022/9/22

    @fate sta:是不是理解错了,不是获取database的名称,我的意思是获取自定义的表的名称


    0 回复
  • joyswing joyswing VIP0
    2022/9/28

    @末日鱼

    你的方法果然有效果,太厉害了,如果Sqlsugar提供一个快捷方法或者函数就更好了了

    0 回复
  • joyswing joyswing VIP0
    2022/9/28

    @末日鱼


    我想把你的这个方法封装为一个函数,但是参数类型应该是什么?

    0 回复
  • fate sta fate sta VIP0
    2022/9/28

    db.EntityMaintenance.GetEntityInfo<Student>().DbTableName 


    有现成的方法

    0 回复
  • joyswing joyswing VIP0
    2022/10/9

    这个方法果然有效,太好了

    0 回复