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

SqlSugar
7 63
该叫什么 joyswing 发布于1周前
悬赏:5 飞吻

    [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”

热忱回答7

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

    需要从自定义特性上获取

    0 回复
  • db.Ado.Connection.DataBase

    0 回复
  • 多租户就是 GetConnecitton(1).Ado.Connection.Database

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


    0 回复
  • @末日鱼

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

    0 回复
  • @末日鱼


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

    0 回复
  • db.EntityMaintenance.GetEntityInfo<Student>().DbTableName 


    有现成的方法

    0 回复