Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何同时使用多个值检查数据集中是否存在表?_C#_Linq_Datatable_Contains - Fatal编程技术网

C# 如何同时使用多个值检查数据集中是否存在表?

C# 如何同时使用多个值检查数据集中是否存在表?,c#,linq,datatable,contains,C#,Linq,Datatable,Contains,我有两套桌子: 一个实体(值“-1”至“-7”)&一个静态数据(值“-8”至“-11”) 静态数据表依赖实体表来成功验证。我试图检查静态数据表是否存在,实体表是否存在,如果存在,则将异常附加到异常StringBuilder 下面的代码完成了这项工作,并按预期工作,但是,这是一个令人讨厌的问题,我相信一定有更好的方法来完成它。我看过谷歌,但是我发现没有一个和这个特定场景相关 //Check Entities (Company, Trust, Individual) exist to link st

我有两套桌子:

一个实体(值“-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. 
List staticData=new List{staticData.Add(“-8”);staticData.Add(“-9”);staticData.Add(“-10”);staticData.Add(“-11”)}
if((imports.Tables.Contains(staticData){}//不希望在不循环列表的情况下工作,但在if语句中这不是理想的。
我想我会来这里寻求帮助。

创建两个列表并用于测试
表中的数字是否不存在于
staticData1
中,是否存在于
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();
}
List staticData1=新列表
{
"-1","-2","-3","-4","-5","-6","-7"
};
List staticData2=新列表
{
"-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.AppendLine();
}
我希望这对您有所帮助。

创建两个列表并用于测试
表中的数字是否不存在于
staticData1
中,是否存在于
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();
}
List staticData1=新列表
{
"-1","-2","-3","-4","-5","-6","-7"
};
List staticData2=新列表
{
"-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.AppendLine();
}

我希望这对您有所帮助。

您的表名是“-1”、“-2”、“-3”、…?@jdweng是的。对不起,我应该说得更清楚。c#中的DataSet类有一个Contains方法,可以检查表名是否存在:if(imports.Tables.Contains(“-1”){在这里输入代码}@jdweng基本上就是我在上面使用的,它确实有效,只是希望有一种更干净的方法,而不需要反复重复这个语句。您的表名是“-1”、“-2”、“-3”吗,…..@jdweng是的,它们是。对不起,我应该说得更清楚。c#中的DataSet类有一个Contains方法,可以检查表名是否存在:if(imports.Tables.Contains(“-1”){在这里输入代码}@jdweng这基本上就是我在上面使用的,它确实有效,只是希望有一个更干净的方法,而不是需要反复重复声明。@Tedburges我很乐意提供帮助。如果答案对您有效,请将其标记为已接受(答案左侧的绿色勾选标记)可能其他人会觉得有用。@Tedburges我很乐意帮助你。如果答案对你有用,请将其标记为已接受(答案左侧的绿色勾选标记),可能其他人会觉得有用。