微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决检查数据库查询列表中是否包含选中的复选框的文本,反之亦然,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 举报,一经查实,本站将立刻删除。