49 lines
1.7 KiB
C#
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]}");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|