【发布时间】:2011-05-04 01:24:30
【问题描述】:
我有 2 个数据表。
一个是大师,一个是细节
当有人去删除主记录时,我如何检查我的详细数据表中没有与主表 ID 相关的行。
更新:用户可以一次选择多个主记录
如果可能,我想使用 LINQ。
我开始看DataTable.Rows.Cast()......
【问题讨论】:
标签: c# linq .net-3.5 c#-3.0 datatable
我有 2 个数据表。
一个是大师,一个是细节
当有人去删除主记录时,我如何检查我的详细数据表中没有与主表 ID 相关的行。
更新:用户可以一次选择多个主记录
如果可能,我想使用 LINQ。
我开始看DataTable.Rows.Cast()......
【问题讨论】:
标签: c# linq .net-3.5 c#-3.0 datatable
您不需要 LINQ。
相反,您可以查看masterRow.GetChildRows("RelationName").Length。
编辑:您应该使用 DataRelation。
如果你真的不想,你可以检查
childTable.AsEnumerable().Any(dr => dr["ParentIdColumn"] == someValue)
编辑:检查多个父母:
var parentKeys = parentRows.Select(dr => dr["id"]).ToList();
if (childTable.AsEnumerable().Any(dr => parentKeys.Contains(["ParentIdColumn"])))
【讨论】: