大家好
这是我的问题:
我有一个显示所有客户信息的Windows窗体。它通过在加载表单时填充所有表来做到这一点,并且可以正常工作。
我还有一个“搜索”功能,可以按条件选择客户(例如“ StatusID”)。在这两种情况下,都会填充客户表(父表)。但是,由于客户表只能包含该表的一部分(因为它已被其SQL查询中的“ where”子句过滤),因此当我填充其“客户ID”的FK不在以下结果中的子表时我的数据集,我得到了错误:
"无法启用约束。一或多个行包含违反非null,唯一或外键约束的值。".
我知道为什么得到这个,但是我的问题是如何避免呢?我是否只是将'EnforceConstraints'设置为false以避免错误,然后又返回true,或者是否可以将所有人的客户表填满然后应用过滤条件(LINQ?),或者可以对我进行修改子表查询(尽管我认为这不会解决任何问题,因为查询将检查数据库,而不是我的数据集!)。
有想法吗?
谢谢。
这是我的问题:
我有一个显示所有客户信息的Windows窗体。它通过在加载表单时填充所有表来做到这一点,并且可以正常工作。
我还有一个“搜索”功能,可以按条件选择客户(例如“ StatusID”)。在这两种情况下,都会填充客户表(父表)。但是,由于客户表只能包含该表的一部分(因为它已被其SQL查询中的“ where”子句过滤),因此当我填充其“客户ID”的FK不在以下结果中的子表时我的数据集,我得到了错误:
"无法启用约束。一或多个行包含违反非null,唯一或外键约束的值。".
我知道为什么得到这个,但是我的问题是如何避免呢?我是否只是将'EnforceConstraints'设置为false以避免错误,然后又返回true,或者是否可以将所有人的客户表填满然后应用过滤条件(LINQ?),或者可以对我进行修改子表查询(尽管我认为这不会解决任何问题,因为查询将检查数据库,而不是我的数据集!)。
有想法吗?
谢谢。