gpt4 book ai didi

c# - 如何在不检查 MVC 中的各个字段的情况下检查模型对象字段中的更改?

转载 作者:太空狗 更新时间:2023-10-29 21:49:52 24 4
gpt4 key购买 nike

我有一个大模型

public class SomeModel
{
public int Id { get; set; }
.....A lot(24) of Fields here.....
}

现在 Post ActionResult Edit(somemodel SomeModel) 我想检查用户是否对数据库中的原始模型值进行了任何更改。使用 If Else 会产生很多困惑的代码。无论如何,是否可以检查用户是否更改了某些内容,如果可能,用户更改了哪些字段?

最佳答案

我正在考虑使用这样的方法

    public class SomeModel
{
//...
public override bool Equals(object obj)
{
var type = this.GetType();
bool SameObj = true;
//for each public property from 'SomeModel'
//[EDITED]type.GetProperties().Each(prop=>{ // Sorry i'm using custom extension methode here
//you should probably use this instead
type.GetProperties().ToList().ForEach(prop=>{
//dynamically checks that they're equals
if(!prop.GetValue(this,null).Equals(prop.GetValue(obj,null))){
SameObj=false;
}
}
return SameObj;
}
}

/!\已编辑

关于c# - 如何在不检查 MVC 中的各个字段的情况下检查模型对象字段中的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29391961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com