确定外键表是否具有与LINQ&amp ;;的主键表的任何链接。数据表

时间:2010-11-02 16:43:44

标签: c# linq .net-3.5 c#-3.0 datatable

我有2个数据表。

一个是主人,另一个是细节

当有人去删除主记录时,如何检查我的详细数据表中没有与主表的ID相关的行。

更新:用户可以一次选择多个主记录

如果可能,我想使用LINQ。

我开始关注DataTable.Rows.Cast()......

1 个答案:

答案 0 :(得分:3)

你不需要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"])))