C# 如果您的DataTable';s的主键是两列?

C# 如果您的DataTable';s的主键是两列?,c#,visual-studio,ado.net,datatable,datarow,C#,Visual Studio,Ado.net,Datatable,Datarow,如果是这样,如何?'Contains'似乎不是DataRow类的成员(可能这是一个类型化的数据集?) 在任何情况下,您都可以使用(DataTable.Select(..).Length>0)作为替换要通过主键进行选择,您应该使用以下选项之一: DataTable.Rows.Find(Object)如果PK是一列 DataTable.Rows.Find(Object[])如果主键超过1列 对于类型化数据集,将为您生成具有正确签名的方法MyDataTable.Rows.Find(…)。基本上它是

如果是这样,如何?

'Contains'似乎不是DataRow类的成员(可能这是一个类型化的数据集?)


在任何情况下,您都可以使用(DataTable.Select(..).Length>0)作为替换

要通过主键进行选择,您应该使用以下选项之一:

  • DataTable.Rows.Find(Object)
    如果PK是一列
  • DataTable.Rows.Find(Object[])
    如果主键超过1列

对于类型化数据集,将为您生成具有正确签名的方法
MyDataTable.Rows.Find(…)
。基本上它是DataRowCollection类上的一个方法

我假设您指的是DataRowCollection.Contains方法?有一个重载需要一个对象数组,你应该使用这个

我试过了,但它告诉我“索引的键需要2个值,但收到1个值”。你试过了吗?包含(新对象[]{valueOfFirstKey,valueOfSecondKey})