我正在与一个为慈善券公司经营者开发桌面应用程序的人合作一个项目。他们的客户拥有账户,将钱存入账户,并向慈善机构写慈善券(有点像支票)。
他希望我写一个网站,慈善机构和客户都可以登录并查看他们的帐户详细信息,发放的代金券等。
由于大部分数据将来自他的应用程序到我的网站,我们同意在我的数据库中使用他的主键 ID,因此很容易匹配数据。
我们对此非常感兴趣,而且我发现他是关系数据库的坚定反对者。他的数据库根本没有任何外引用键,只有表中的 ID。他对每个表进行单独查询以查看相关数据是否存在。
我想使用实体框架,但不确定是否可以,因为我无法确定他发送给我的数据是否完整。例如,他可能会向我发送优惠券的详细信息,其中将包含客户 ID 和慈善机构 ID,但客户可能尚未发送,因此优惠券上的客户 ID 不会存在于客户表中。
有什么想法我能做什么?我的表之间不能有外部链接,因为这会在遇到不完整数据时引发错误,但如果我没有任何链接,那么我就失去了使用 EF 的全部好处。
到目前为止,我唯一的想法是让表不相关,然后为实体添加部分类,其属性看起来像导航属性,但这将检查“外部”数据是否存在,如果存在,则返回它。
这可能有效,但似乎需要付出很多努力。关于我如何处理这种情况的任何更好的建议?