我正在使用Dapper.FastCrud Dapper扩展。当更改组合键之一时,更新方法无法正常工作。
例如在MyClass中,ID1和ID2是组合键的一部分。如果用户修改了ID2属性,则更新无法正常工作。
using Dapper.FastCrud; (https://dapper-tutorial.net/dapper-fastcrud)
public class MyClass
{
[Key]
public int ID1 { get; set; }
[Key]
public int ID2 { get; set; }
public DateTime UpdatedOn { get; set; }
public string UpdatedBy { get; set; }
}
private void Save(List<MyClass> currItems)
{
using (IDbConnection con = db.CreateConnection())
{
var changedItems = currItems.Where(x => x.EntityState == EntityStateType.Changed).ToList();
if (changedtos.Count > 0)
changedtos.ForEach(x => { con.Update(x); });
}
}
处理这种情况的最佳方法是什么?