Tôi đang cố gắng để tạo ra một lớp tổng quát để lưu logEntity lớp DataTable
Ở đây chúng ta sử dụng khuôn khổ tổ chức để tưởng tượng chúng ta có bảng mng_users (string usr_name, int usr_id) tạo lớp tương ứng cho itentity)
là có một cách để thực hiện các phương pháp toDataTable chuyển đổi đơn vị vào một DataTable (không phải là một danh sách, có 1 hàng duy nhất) vì vậy tôi có thể làm một cái gì đó như thế này:
có mng_users1 và mng_users2 như lớp mng_users thực thể (cả hai có cùng tên id nhưng khác)
phương thức gọi "savelog (mng_users1, mng_users2);" và thực hiện các mã sau:
private DataTable toDataTable(Object T)
{
DataTable vDataTable = new DataTable();
//AddColums here
//AddRow with the respective values here
return vDataTable;
}
public void savelog(Object newObject, Object oldObject)
{
DataTable newvalue, oldvalue;
newvalue = toDataTable(newObject);
oldvalue = toDataTable(oldObject);
string FieldNames = string.Empty, FieldValuesFrom = string.Empty, FieldValuesTo = string.Empty;
foreach (DataColumn item in newvalue.Columns)
{
if (newvalue.Rows[0][item].ToString() != oldvalue.Rows[0][item].ToString())
{
FieldNames += (FieldNames.Length > 0 ? " | " : string.Empty) + item.ColumnName;
FieldValuesFrom += (FieldValuesFrom.Length > 0 ? " | " : string.Empty) + newvalue.Rows[0][item].ToString();
FieldValuesTo += (FieldValuesTo.Length > 0 ? " | " : string.Empty) + oldvalue.Rows[0][item].ToString();
}
}
// Save log to sql code here
}
Xin chào, nó thực sự làm việc với một số chỉnh sửa ... nhưng tôi không thể sử dụng phương thức ToDataTable, tôi đã phải sử dụng nó trong phương thức SaveLog. – user1859887
bạn luôn có thể trích xuất một phương thức từ mã nội tuyến. Tôi thấy tôi quên đặt kiểu trả về của phương thức. nó sẽ hoạt động ngay bây giờ. –
@ user1859887 là ** SaveLog **? – Kiquenet