mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 04:18:16 +08:00
pgsql/mysql/sqlserver适配
This commit is contained in:
52
FreeSql/DatabaseModel/DBColumnInfo.cs
Normal file
52
FreeSql/DatabaseModel/DBColumnInfo.cs
Normal file
@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace FreeSql.DatabaseModel {
|
||||
public class DbColumnInfo {
|
||||
/// <summary>
|
||||
/// 所属表
|
||||
/// </summary>
|
||||
public DbTableInfo Table { get; internal set; }
|
||||
/// <summary>
|
||||
/// 列名
|
||||
/// </summary>
|
||||
public string Name { get; internal set; }
|
||||
/// <summary>
|
||||
/// 映射到 C# 类型
|
||||
/// </summary>
|
||||
public Type CsType { get; internal set; }
|
||||
/// <summary>
|
||||
/// 数据库枚举类型int值
|
||||
/// </summary>
|
||||
public int DbType { get; internal set; }
|
||||
/// <summary>
|
||||
/// 数据库类型,字符串,varchar
|
||||
/// </summary>
|
||||
public string DbTypeText { get; internal set; }
|
||||
/// <summary>
|
||||
/// 数据库类型,字符串,varchar(255)
|
||||
/// </summary>
|
||||
public string DbTypeTextFull { get; internal set; }
|
||||
/// <summary>
|
||||
/// 最大长度
|
||||
/// </summary>
|
||||
public int MaxLength { get; internal set; }
|
||||
/// <summary>
|
||||
/// 主键
|
||||
/// </summary>
|
||||
public bool IsPrimary { get; internal set; }
|
||||
/// <summary>
|
||||
/// 自增标识
|
||||
/// </summary>
|
||||
public bool IsIdentity { get; internal set; }
|
||||
/// <summary>
|
||||
/// 是否可DBNull
|
||||
/// </summary>
|
||||
public bool IsNullable { get; internal set; }
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public string Coment { get; internal set; }
|
||||
}
|
||||
}
|
52
FreeSql/DatabaseModel/DBTableInfo.cs
Normal file
52
FreeSql/DatabaseModel/DBTableInfo.cs
Normal file
@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace FreeSql.DatabaseModel {
|
||||
public class DbTableInfo {
|
||||
/// <summary>
|
||||
/// 唯一标识
|
||||
/// </summary>
|
||||
public string Id { get; internal set; }
|
||||
/// <summary>
|
||||
/// SqlServer下是Owner、PostgreSQL下是Schema、MySql下是数据库名
|
||||
/// </summary>
|
||||
public string Schema { get; internal set; }
|
||||
/// <summary>
|
||||
/// 表名
|
||||
/// </summary>
|
||||
public string Name { get; internal set; }
|
||||
/// <summary>
|
||||
/// 表/视图
|
||||
/// </summary>
|
||||
public DbTableType Type { get; set; }
|
||||
/// <summary>
|
||||
/// 列
|
||||
/// </summary>
|
||||
public List<DbColumnInfo> Columns { get; internal set; } = new List<DbColumnInfo>();
|
||||
/// <summary>
|
||||
/// 自增列
|
||||
/// </summary>
|
||||
public List<DbColumnInfo> Identitys { get; internal set; } = new List<DbColumnInfo>();
|
||||
/// <summary>
|
||||
/// 主键/组合
|
||||
/// </summary>
|
||||
public List<DbColumnInfo> Primarys { get; internal set; } = new List<DbColumnInfo>();
|
||||
/// <summary>
|
||||
/// 唯一键/组合
|
||||
/// </summary>
|
||||
public List<List<DbColumnInfo>> Uniques { get; internal set; } = new List<List<DbColumnInfo>>();
|
||||
/// <summary>
|
||||
/// 索引/组合
|
||||
/// </summary>
|
||||
public List<List<DbColumnInfo>> Indexes { get; internal set; } = new List<List<DbColumnInfo>>();
|
||||
/// <summary>
|
||||
/// 外键
|
||||
/// </summary>
|
||||
public List<DbForeignInfo> Foreigns { get; internal set; } = new List<DbForeignInfo>();
|
||||
}
|
||||
|
||||
public enum DbTableType {
|
||||
TABLE, VIEW, StoreProcedure
|
||||
}
|
||||
}
|
13
FreeSql/DatabaseModel/DbForeignInfo.cs
Normal file
13
FreeSql/DatabaseModel/DbForeignInfo.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace FreeSql.DatabaseModel {
|
||||
public class DbForeignInfo {
|
||||
public DbTableInfo Table { get; internal set; }
|
||||
public List<DbColumnInfo> Columns { get; internal set; } = new List<DbColumnInfo>();
|
||||
public DbTableInfo ReferencedTable { get; internal set; }
|
||||
public List<DbColumnInfo> ReferencedColumns { get; internal set; } = new List<DbColumnInfo>();
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user