c# - 如何一次使用多个值检查 DataSet 中是否存在表?
问题描述
我有两个表集:
一个实体(值“-1”到“-7”)和一个静态数据(值“-8”到“-11”)。
静态数据表依赖实体表来成功验证。我正在尝试检查静态数据表是否存在而实体表不存在,如果存在,则将异常附加到异常 StringBuilder 上。
下面的代码完成了这项工作并按预期工作,但是,它令人眼花缭乱,我相信必须有更好的方法来做到这一点。我在谷歌上看过,但我发现没有一个似乎与这个特定场景有关。
//Check Entities (Company, Trust, Individual) exist to link static data (Address, Email, Bank Account, Phone Number) to, if not add exception
if ((!imports.Tables.Contains("-1") && !imports.Tables.Contains("-2") && !imports.Tables.Contains("-3") &&
!imports.Tables.Contains("-4") && !imports.Tables.Contains("-5") && !imports.Tables.Contains("-6") &&
!imports.Tables.Contains("-7")) && imports.Tables.Contains("-8") && imports.Tables.Contains("-9") &&
imports.Tables.Contains("-10") && imports.Tables.Contains("-11"))
{
exception.Append("No Entity Found: Address, Email, Bank Account & Phone Number require an Entity (Trust, Company, Individual) to be created to pass validation.");
exception.AppendLine();
}
我试图将这些值添加到列表中并在列表上进行比较,但没有成功,下面是我为其中一个表收集的内容:
List<string> staticData = new List<string>{ staticData.Add("-8"); staticData.Add("-9"); staticData.Add("-10"); staticData.Add("-11")}
if((imports.Tables.Contains(staticData) {} // Didn't expect this to work without looping through the list but that wouldn't be ideal in an if statement.
以为我会来这里寻求帮助。
解决方案
创建两个列表并用于.All()
测试,如果数字 in Tables
not exist instaticData1
和 exists in staticData2
,如以下代码:
List<string> staticData1 = new List<string>
{
"-1","-2","-3","-4","-5","-6","-7"
};
List<string> staticData2 = new List<string>
{
"-8","-9","-10","-11"
};
if (imports.Tables != null
&& imports.Tables.Count > 0
&& staticData1.All(x => !Tables.Contains(x))
&& staticData2.All(x => Tables.Contains(x)))
{
exception.Append("No Entity Found: Address, Email, Bank Account & Phone Number require an Entity (Trust, Company, Individual) to be created to pass validation.");
exception.AppendLine();
}
我希望你觉得这有帮助。
推荐阅读
- python - 为我的 Django 项目创建主题标签系统后,保险箱无法正常工作
- django - 我可以在已经创建的带有用户数据的 mysql 数据库中使用 django 身份验证吗?
- firefox - Firefox 在预加载字体上显示警告,尽管它们在第一秒内使用
- c - GDB点运算符引用指针?
- python-3.x - Scrapy xpath 没有解析它应该解析的内容
- javascript - 如何处理“ag-grid-react”中的列宽?
- javascript - Python:请求无法登录我在此处阅读的有关类似问题的网站,但这对我没有帮助
- paypal - PayPal订阅按钮:错误:无法读取未定义的属性“订阅”
- regex - 正则表达式前三个字符,然后只有数字或字符,可选地后跟两位数字
- ansible - 用于 rsync 的 Ansible syncronize 命令,用于将大型备份从远程复制到本地