我正在从MySql数据库获取包含客户数据的数据表格,并从Web服务获取客户对象。
我想将数据表中的每个值与对象中的值进行比较,如果有一个字段不同,我想执行一些任务。
我知道可以使用以下方法从数据表中获取值:
然后我从网络服务中获取值。
大约有50个领域正在进行。
似乎有点乏味且不太好,那么我该怎么做呢?有没有更好的方法将其放入列表并使用一些高级的LINQ呢?
提前感谢。
我想将数据表中的每个值与对象中的值进行比较,如果有一个字段不同,我想执行一些任务。
我知道可以使用以下方法从数据表中获取值:
string mCompanyName = row["Company Name"].ToString();
string mCreatedDate = row["Created Date"].Tostring();
//etc..
然后我从网络服务中获取值。
string wsCompanyName = customer.companyName;
string wsCreatedDate = customer.createdDate;
大约有50个领域正在进行。
if( mCompanyName != wsCompanyName & mCreatedDate != wsCreatedDate and so on..) (or similar)
{
//Do something
}
似乎有点乏味且不太好,那么我该怎么做呢?有没有更好的方法将其放入列表并使用一些高级的LINQ呢?
提前感谢。
Dictionary<string,object>
和object.Equals
。但是,这可能会导致其他问题,例如"1".Equals(1) -> false
,因此“更安全”的解决方案可能是首先将它们全部转换为字符串(如果适用),或者添加一个粗略的类型检查(a.GetType() == b.GetType
),并在不对齐时快速失败。 - user166390