我有 2 个数据表。
一是主,二是细节
当有人要删除主记录时,我如何检查我的详细数据表中是否没有与主表 ID 相关的行。
更新:用户可以一次选择多个主记录
如果可能的话,我想使用 LINQ。
我开始查看DataTable.Rows.Cast()......
最佳答案
您不需要为此使用 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"])))
关于c# - 使用 LINQ to DataTable 确定外键表是否与主键表有任何链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4079973/