DataTable上的UNIQUE约束

nir*_*rav 2 c# asp.net datatable constraints

我可以DataTable在C#中使用聚簇键吗?

在我的代码中要求对3列的可能组合进行约束是唯一的......

mar*_*c_s 5

你需要什么真的是唯一的约束你的DataTable.群集密钥是SQL Server磁盘上的功能,不适用于DataTable.

查看有关DataTable约束的MSDN文档:

UniqueConstraint对象可以分配给DataTable中的单个列或列数组,可确保指定列或列中的所有数据每行唯一.您可以使用UniqueConstraint构造函数为列或列数组创建唯一约束.

所以尝试这样的事情:

// this is your DataTable
DataTable custTable ;

// create a UniqueConstraint instance and set its columns that should make up
// that uniqueness constraint - in your case, that would be a set of *three*
// columns, obviously! Adapt to your needs!
UniqueConstraint custUnique = 
   new UniqueConstraint(new DataColumn[] { custTable.Columns["CustomerID"], 
                                           custTable.Columns["CompanyName"] });

// add unique constraint to the list of constraints for your DataTable
custTable.Constraints.Add(custUnique);
Run Code Online (Sandbox Code Playgroud)

这应该为你做的伎俩!