- 增加 IDbFirst.GetTableByName 方法获取单表信息,包括列详情、主键、唯一键、索引、备注;

This commit is contained in:
28810
2020-08-11 23:23:54 +08:00
parent da6effcf52
commit 0d832a5a23
33 changed files with 994 additions and 601 deletions

View File

@ -9,17 +9,29 @@ namespace FreeSql.Tests.MySqlConnector
[Fact]
public void GetDatabases()
{
var t1 = g.mysql.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.mysql.DbFirst.GetTablesByDatabase(g.mysql.DbFirst.GetDatabases()[0]);
Assert.True(t2.Count > 0);
}
[Fact]
public void GetTableByName()
{
var fsql = g.mysql;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("cccddd_mysqlconnector.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]

View File

@ -9,19 +9,32 @@ namespace FreeSql.Tests.Odbc.Dameng
[Fact]
public void GetDatabases()
{
var t1 = g.dameng.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.dameng.DbFirst.GetTablesByDatabase();
Assert.True(t2.Count > 0);
//var tb = g.dameng.Ado.ExecuteArray(System.Data.CommandType.Text, "select * from \"tb_dbfirst\"");
}
[Fact]
public void GetTableByName()
{
var fsql = g.dameng;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("2user.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]
public void ExistsTable()
{

View File

@ -16,7 +16,22 @@ namespace FreeSql.Tests.Odbc.KingbaseES
public void GetTablesByDatabase()
{
var t2 = g.kingbaseES.DbFirst.GetTablesByDatabase();
//var tb = g.kingbaseES.Ado.ExecuteArray(System.Data.CommandType.Text, "select * from \"tb_dbfirst\"");
Assert.True(t2.Count > 0);
}
[Fact]
public void GetTableByName()
{
var fsql = g.kingbaseES;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("public.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]

View File

@ -9,17 +9,29 @@ namespace FreeSql.Tests.Odbc.MySql
[Fact]
public void GetDatabases()
{
var t1 = g.mysql.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.mysql.DbFirst.GetTablesByDatabase(g.mysql.DbFirst.GetDatabases()[0]);
Assert.True(t2.Count > 0);
}
[Fact]
public void GetTableByName()
{
var fsql = g.mysql;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("cccddd_odbc.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]

View File

@ -9,19 +9,32 @@ namespace FreeSql.Tests.Odbc.Oracle
[Fact]
public void GetDatabases()
{
var t1 = g.oracle.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.oracle.DbFirst.GetTablesByDatabase();
Assert.True(t2.Count > 0);
//var tb = g.oracle.Ado.ExecuteArray(System.Data.CommandType.Text, "select * from \"tb_dbfirst\"");
}
[Fact]
public void GetTableByName()
{
var fsql = g.oracle;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("1odbc.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]
public void ExistsTable()
{

View File

@ -10,20 +10,29 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
[Fact]
public void GetDatabases()
{
var t1 = g.pgsql.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.pgsql.DbFirst.GetTablesByDatabase();
Assert.True(t2.Count > 0);
}
var t2 = g.pgsql.DbFirst.GetTablesByDatabase(g.pgsql.DbFirst.GetDatabases()[2]);
var tb_alltype = t2.Where(a => a.Name == "tb_alltype").FirstOrDefault();
var tb_identity = t2.Where(a => a.Name == "test_new").FirstOrDefault();
[Fact]
public void GetTableByName()
{
var fsql = g.pgsql;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("public.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]

View File

@ -10,17 +10,29 @@ namespace FreeSql.Tests.Odbc.SqlServer
[Fact]
public void GetDatabases()
{
var t1 = g.sqlserver.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.sqlserver.DbFirst.GetTablesByDatabase();
Assert.True(t2.Count > 0);
}
[Fact]
public void GetTableByName()
{
var fsql = g.sqlserver;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("dbo.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]

View File

@ -9,19 +9,32 @@ namespace FreeSql.Tests.Dameng
[Fact]
public void GetDatabases()
{
var t1 = g.dameng.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.dameng.DbFirst.GetTablesByDatabase();
Assert.True(t2.Count > 0);
//var tb = g.dameng.Ado.ExecuteArray(System.Data.CommandType.Text, "select * from \"tb_dbfirst\"");
}
[Fact]
public void GetTableByName()
{
var fsql = g.dameng;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("2user.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]
public void ExistsTable()
{

View File

@ -9,17 +9,29 @@ namespace FreeSql.Tests.MySql
[Fact]
public void GetDatabases()
{
var t1 = g.mysql.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.mysql.DbFirst.GetTablesByDatabase(g.mysql.DbFirst.GetDatabases()[0]);
Assert.True(t2.Count > 0);
}
[Fact]
public void GetTableByName()
{
var fsql = g.mysql;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("cccddd.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]

View File

@ -9,19 +9,32 @@ namespace FreeSql.Tests.Oracle
[Fact]
public void GetDatabases()
{
var t1 = g.oracle.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.oracle.DbFirst.GetTablesByDatabase();
Assert.True(t2.Count > 0);
//var tb = g.oracle.Ado.ExecuteArray(System.Data.CommandType.Text, "select * from \"tb_dbfirst\"");
}
[Fact]
public void GetTableByName()
{
var fsql = g.oracle;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("1user.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]
public void ExistsTable()
{

View File

@ -10,21 +10,29 @@ namespace FreeSql.Tests.PostgreSQL
[Fact]
public void GetDatabases()
{
var t1 = g.pgsql.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.pgsql.DbFirst.GetTablesByDatabase(g.pgsql.DbFirst.GetDatabases()[1]);
Assert.True(t2.Count > 0);
}
var tb_alltype = t2.Where(a => a.Name == "tb_alltype").FirstOrDefault();
var tb_identity = t2.Where(a => a.Name == "test_new").FirstOrDefault();
[Fact]
public void GetTableByName()
{
var fsql = g.pgsql;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("public.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]

View File

@ -9,9 +9,7 @@ namespace FreeSql.Tests.ShenTong
[Fact]
public void GetDatabases()
{
var t1 = g.shentong.DbFirst.GetDatabases();
}
[Fact]
@ -19,7 +17,23 @@ namespace FreeSql.Tests.ShenTong
{
var t1 = g.shentong.DbFirst.GetTablesByDatabase();
var t2 = g.shentong.DbFirst.GetTablesByDatabase(g.shentong.DbFirst.GetDatabases()[0]);
Assert.True(t1.Count > 0);
Assert.True(t2.Count > 0);
}
[Fact]
public void GetTableByName()
{
var fsql = g.shentong;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("public.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]

View File

@ -19,17 +19,29 @@ namespace FreeSql.Tests.SqlServer
[Fact]
public void GetDatabases()
{
var t1 = g.sqlserver.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.sqlserver.DbFirst.GetTablesByDatabase();
Assert.True(t2.Count > 0);
}
[Fact]
public void GetTableByName()
{
var fsql = g.sqlserver;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("dbo.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]

View File

@ -9,17 +9,29 @@ namespace FreeSql.Tests.Sqlite
[Fact]
public void GetDatabases()
{
var t1 = g.sqlite.DbFirst.GetDatabases();
}
[Fact]
public void GetTablesByDatabase()
{
var t2 = g.sqlite.DbFirst.GetTablesByDatabase();
Assert.True(t2.Count > 0);
}
[Fact]
public void GetTableByName()
{
var fsql = g.sqlite;
var t1 = fsql.DbFirst.GetTableByName("tb_alltype");
var t2 = fsql.DbFirst.GetTableByName("main.tb_alltype");
Assert.NotNull(t1);
Assert.NotNull(t2);
Assert.True(t1.Columns.Count > 0);
Assert.True(t2.Columns.Count > 0);
Assert.Equal(t1.Columns.Count, t2.Columns.Count);
var t3 = fsql.DbFirst.GetTableByName("notexists_tb");
Assert.Null(t3);
}
[Fact]