Glu*_*uip 2 c# datatable constraints strongly-typed-dataset
在数据集上是EnforceConstraints属性,指示是否应启用约束.虽然数据表也可以有约束我不能禁用数据表的约束.
我的情况是我有一个数据表,我在内存中使用其中一列的唯一约束.有时我想暂时禁用唯一约束.我怎样才能做到这一点?我想出的唯一一件事就是删除并重新添加约束.有没有更好的办法?
没有公共EnforceConstraints财产DataTable.我建议使用以下方法之一来禁用约束:
DataTable.BeginLoadData(),然后DataTable.EndLoadData()再次重新启用它们.DataSet.EnforceConstraints为false.注意:禁用检查约束也会禁用检查有关DataColumn.AllowDBNull和的值DataColumn.MaxLength.
我的解决方案是这个
using (IDataReader reader = ExecuteReader(sql))
{
DataTable dt = new DataTable();
using (DataSet ds = new DataSet() { EnforceConstraints = false })
{
ds.Tables.Add(dt);
dt.Load(reader, LoadOption.OverwriteChanges);
ds.Tables.Remove(dt);
}
return dt;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9783 次 |
| 最近记录: |