检查数据库条目的记录状态
本文关键字:记录 状态 数据库 检查 | 更新日期: 2023-09-27 18:34:11
我正在编写一个硬件清单应用程序。我通过 WMI 从计算机获取数据,并使用 LINQ 将其写入数据库。
最终我得到了这样的记录:
ID HOSTNAME OS Memory
1 myHostname Windows 7 4Gb
现在假设我向这台计算机添加了一些内存,下次应用程序找到它时,它将更新来自此计算机的信息,并尝试将其写入数据库。
在写之前,我检查我的Hostname
是否已经存在于数据库中(它是Primary Key
),在这种情况下它已经存在。那么现在,我是否在数据库中查询此主机名并获取此计算机的所有信息,并使用它创建一个对象并将其与我从WMI获得的对象进行比较?
有没有办法基于每个记录信息在我的表上创建一个值,然后让 LINQ 基于 WMI 对象创建一个值并相互比较?
抱歉,如果文本有点混乱,希望你们可以帮助我解决这个问题。
尝试这样的事情。
var entry = yourContext.YourTable.SingleOrDefault(e => e.HostName == someHostName);
你
只需要查询WMI_object.hostname == hostname
这使得代码像这样:
Dataobject obj = (select o from entity.objects where o.hostname == WMI_object.hostname);
obj.memory = WMI_object.memory;
entity.SaveChanges();