检查数据库查询列表中是否包含选中的复选框的文本,反之亦然,ASP.NET C#

问题描述

我正在Visual Studio中使用Web窗体编写项目,并且将Microsoft sql数据库与Entity Framework一起使用。在Web窗体中,除其他控件外,还有5个CheckBoxes。用户可以通过选中或取消选中值并按“更新”按钮来通过这些复选框更新其帐户。在buttonClick事件的代码中,我想检查相应数据库查询的每一行是否与任何选中的CheckBox内容匹配,如果不匹配,我想从数据库删除该行。代码如下

var query2 =
    from service in context.ServiceSet 
    where service.Room.Id == roomId
    select service;

List<string> checkedServices = new List<string>(); 

if(CheckBox1.Checked == true) 
{
    checkedServices.Add(CheckBox1.Text);                  
}
if (CheckBox2.Checked == true)
{
    checkedServices.Add(CheckBox2.Text);
}
if (CheckBox3.Checked == true)
{
    checkedServices.Add(CheckBox3.Text);
}
if (CheckBox4.Checked == true)
{
    checkedServices.Add(CheckBox4.Text);
}
if (CheckBox5.Checked == true)
{
    checkedServices.Add(CheckBox5.Text);
}

foreach (Service serv in query2)  
{
    if(!checkedServices.Contains(serv.ServiceName)) 
    {
        context.ServiceSet.Remove(serv); 
    }
}

我还需要检查每个选中的CheckBox的content(Text)是否存在于数据库的任何行中,如果不存在,我想将其插入数据库的新行中。没有太多的代码行,有没有办法做到这一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)