Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查数据库项的记录状态_C#_Sql_Sql Server_Linq - Fatal编程技术网

C# 检查数据库项的记录状态

C# 检查数据库项的记录状态,c#,sql,sql-server,linq,C#,Sql,Sql Server,Linq,我正在编写一个硬件清单应用程序。我通过WMI从计算机获取数据,并使用LINQ将其写入数据库 最终我得到了这样一张唱片: ID主机名操作系统内存 1 myHostname Windows 7 4Gb 现在想象一下,我给这台计算机添加了一些内存,下次应用程序找到它时,它将更新来自这台计算机的信息,并尝试将其写入数据库 在编写之前,我检查数据库中是否已经存在我的主机名(它是主键),在这种情况下,它已经存在。那么现在,我是否要查询数据库中的这个主机名,获取这台计算机的所有信息,用它创建一个对象,并将它

我正在编写一个硬件清单应用程序。我通过WMI从计算机获取数据,并使用LINQ将其写入数据库

最终我得到了这样一张唱片:

ID主机名操作系统内存
1 myHostname Windows 7 4Gb
现在想象一下,我给这台计算机添加了一些内存,下次应用程序找到它时,它将更新来自这台计算机的信息,并尝试将其写入数据库

在编写之前,我检查数据库中是否已经存在我的
主机名(它是
主键),在这种情况下,它已经存在。那么现在,我是否要查询数据库中的这个主机名,获取这台计算机的所有信息,用它创建一个对象,并将它与我从WMI获得的对象进行比较

是否有任何方法可以基于每个记录信息在我的表上创建一个值,然后让LINQ基于WMI对象创建一个值并相互比较


抱歉,如果文本有点混乱,希望你们能帮我解决这个问题。

试试这样的方法

var entry = yourContext.YourTable.SingleOrDefault(e => e.HostName == someHostName);

您只需要查询
WMI\u对象。主机名==主机名

这使得代码类似于:

Dataobject obj = (select o from entity.objects where o.hostname == WMI_object.hostname);
obj.memory = WMI_object.memory;
entity.SaveChanges();

我真的不知道你到底在问什么,但我认为答案是这样的:“在这个用例中,通常会编写一个名为insertORupdate的存储过程来执行适当的操作。”是的,你的问题有点让人困惑。首先看一看实体框架代码,它可能会帮助您解决问题: