0

ハードウェア インベントリ アプリケーションを作成しています。WMI を介してコンピューターからデータを取得し、LINQ を使用してデータベースに書き込みます。

最終的には次のようなレコードになります。

ID  HOSTNAME    OS         Memory   
 1  myHostname  Windows 7  4Gb

ここで、このコンピューターにメモリを追加すると、次にアプリケーションがそれを見つけたときに、このコンピューターからの情報が更新され、データベースに書き込もうとします。

書く前に、 myHostnameがデータベースに既に存在するかどうかを確認します (これは ですPrimary Key)。この場合、既に存在します。では、このホスト名についてデータベースにクエリを実行し、このコンピューターに関するすべての情報を取得し、それを使用してオブジェクトを作成し、それを WMI から取得したオブジェクトと比較しますか?

各レコード情報に基づいてテーブルに値を作成し、LINQ で WMI オブジェクトに基づいて値を作成して相互に比較する方法はありませんか?

テキストが少しわかりにくい場合は申し訳ありませんが、皆さんがこれで私を助けてくれることを願っています.

4

2 に答える 2

1

このようなことを試してください。

var entry = yourContext.YourTable.SingleOrDefault(e => e.HostName == someHostName);
于 2013-10-07T16:35:39.303 に答える