如何使用LinQ to SQL检查表中是否存在数据

时间:2016-09-05 11:16:39

标签: c# linq linq-to-sql

我无法使其发挥作用。

变量d =从我的表单中获取解析DateTime数据。

变量id =从我的表单中获取解析主键。

如果按钮单击下面执行的代码

  bool flag = db.tbl_payrolls.Any(p => p.dDate == d && p.emp_id == id);
            if (flag)
            {
                MessageBox.Show("UPDATE");
            }
            else
            {
                MessageBox.Show("INSERT");
            }

我测试了我的代码,如果有一条id在日期为今天的记录,那么它将执行更新部分,否则将插入其他记录。

1 个答案:

答案 0 :(得分:0)

由于您的列中还包含时间部分,而d仅包含日期部分{已标注为DateTime,因此您无法使用p.dDate == d进行过滤。

您可以使用此方法:

DateTime fromDt = d.Date;
DateTime toDt = d.Date.AddDays(1);

bool flag = db.tbl_payrolls.Any(p => p.emp_id == id 
                                 && p.dDate >= fromDt && p.dDate < toDt);