Pharmacy
クラスには多くのプロパティが含まれ、Pharmacy
はID
プロパティをキーとして一意であると宣言されています。2つのオブジェクトに同じデータがフィールド内に含まれていることを確認します
私は戻ってそのプロパティを持つPharmacy
オブジェクトへのMySQLからテーブル内のすべての行をフェッチする代わりに、コードを持っています。
2つのテーブルを比較し、両方のテーブルに同じID
が存在するかどうかを確認します。存在しない場合は、新しいList<Pharmacy
に追加してください。両方のオブジェクトにID
が存在する場合、オブジェクト内のデータが異なる場合は、そのオブジェクトを新しいList<Pharmacy
に保存します。
これは、クラスの外観です。
public class Pharmacy
{
[Key]
public string Tunniste { get; set; }
public string Lyhenne { get; set; }
public string PitkaNimi { get; set; }
public string YlempiYksikko { get; set; }
public string Hierarkiataso { get; set; }
public string VoimassaoloAlkaa { get; set; }
public string VoimassaoloPaattyy { get; set; }
...
}
これはフィンランド語ですが、あなたはそれを存続させていただきたいと思います。 ここでは、それらが同じかどうかを確認しようとしています。
for (int i = 0; i != pharmacyListFromArchive.Count; i++)
{
if (pharmacyListFromArchive[i].Equals(pharmacyListFromNew[i]))
{
Console.WriteLine("Objects are identical.");
}
else
{
Console.WriteLine("Objects are NOT identical. {0} - {1}", pharmacyListFromArchive[i].Tunniste, pharmacyListFromNew[i].Tunniste);
}
}
しかし、私がそれを実行すると、データが同一であってもオブジェクトのどれも同じものとして登録されません。これを回避するにはどうしたらいいですか?
あなたはオプション可能性があり、そうでない場合にのみ参照が –
Serializeを両方のオブジェクトを比較し、結果の文字列を比較している、IDプロパティを比較するために、 'Equals'を上書きする必要がありますか? – bartbje