Files
zszq-trs/Tools/YLTestTool/Tests/TestCompare.cs
T
2024-05-09 14:06:26 +08:00

49 lines
1.7 KiB
C#

using System.Data;
using YLErp.BLL;
using Microsoft.EntityFrameworkCore;
namespace YLErp.Tests
{
class TestCompare : TestBase
{
public override void Execute()
{
var dt1 = ExecuteDataTable("select * from trade where id=102233");
var dt2 = ExecuteDataTable("select * from trade where id=102234");
CompareDataRow(dt1.Columns, dt1.Rows[0], dt2.Rows[0]);
var dt3 = ExecuteDataTable("select * from trade_forward where tradeid=102233");
var dt4 = ExecuteDataTable("select * from trade_forward where tradeid=102234");
CompareDataRow(dt3.Columns, dt3.Rows[0], dt4.Rows[0]);
}
private DataTable ExecuteDataTable(string sql)
{
using (var db = new YLContext())
{
var con = db.Database.GetDbConnection();
con.Open();
var cmd = con.CreateCommand();
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
var reader = cmd.ExecuteReader();
var dt = new DataTable();
dt.Load(reader);
return dt;
}
}
static void CompareDataRow(DataColumnCollection columns, DataRow row1, DataRow row2)
{
Console.WriteLine("-------------------------------------");
foreach (DataColumn col in columns)
{
var colName = col.ColumnName;
if (!object.Equals(row1[colName], row2[colName]))
{
Console.WriteLine($"{colName}--{row1[colName]}<>{row2[colName]}");
}
}
}
}
}