如果找不到项目,如何从Web服务刷新本地数据库?

JRB*_*JRB 0 .net c# linq-to-sql

我正在处理的项目涉及数据库和数据源的Web服务.这个问题,我有几个,是基于这样的想法:如果我输入一个产品编号textBox1,我想看看数字是否已经存在于数据库中,如果不是,我想让它运行我编写的代码Web服务并抓取数据然后更新数据库.

  1. 我应该使用什么代码来检查Product_ID是空还是空

  2. 我需要编写什么代码,以便如果Product_ID为null或为空,它将调用我已编写的代码从Web服务中获取数据?

我的linq代码是:

Test_Data_ClassDataContext db = new Test_Data_ClassDataContext();
            var q = from p in db.Product_Masters
                    where p.Product_ID.Equals(textBox1.Text)
                    select p;
Run Code Online (Sandbox Code Playgroud)

窃取他人的想法我试图测试null如果null运行Web服务代码,如果不是null将其发送到datagridview进行显示.

If (q == null)
{
    Somehow call the other code so it takes textBox1 and get the data from the service
}

else
{
    dataGridView1.DataSource = q;
}
Run Code Online (Sandbox Code Playgroud)

背景:我是c#的新手,曾经和vb6一起玩过,所以对我而言,c#不仅仅是学习一门新语言而且还学会再次走路,更不用说我从来都不是一个优秀的vb6程序员.

Eri*_*ert 8

q永远不会为空.

查询表达式的值是表示查询的对象.它不是查询的结果.

如果您想知道的是"此查询是否有任何结果",则说"q.Any()".