3

我正在与一个为慈善券公司经营者开发桌面应用程序的人合作一个项目。他们的客户拥有账户,将钱存入账户,并向慈善机构写慈善券(有点像支票)。

他希望我写一个网站,慈善机构和客户都可以登录并查看他们的帐户详细信息,发放的代金券等。

由于大部分数据将来自他的应用程序到我的网站,我们同意在我的数据库中使用他的主键 ID,因此很容易匹配数据。

我们对此非常感兴趣,而且我发现他是关系数据库的坚定反对者。他的数据库根本没有任何外引用键,只有表中的 ID。他对每个表进行单独查询以查看相关数据是否存在。

我想使用实体框架,但不确定是否可以,因为我无法确定他发送给我的数据是否完整。例如,他可能会向我发送优惠券的详细信息,其中将包含客户 ID 和慈善机构 ID,但客户可能尚未发送,因此优惠券上的客户 ID 不会存在于客户表中。

有什么想法我能做什么?我的表之间不能有外部链接,因为这会在遇到不完整数据时引发错误,但如果我没有任何链接,那么我就失去了使用 EF 的全部好处。

到目前为止,我唯一的想法是让表不相关,然后为实体添加部分类,其属性看起来像导航属性,但这将检查“外部”数据是否存在,如果存在,则返回它。

这可能有效,但似乎需要付出很多努力。关于我如何处理这种情况的任何更好的建议?

4

1 回答 1

0

这是一个很晚的答案,但由于我偶然发现了这个问题,它可能对其他人有用。

微软最近宣布 EF Core(在 ASP.NET Core 2.1 中)将有一个Cosmos DB提供程序:

Cosmos DB 提供程序预览:我们一直在为 Cosmos DB 中的 DocumentDB API 开发一个 EF Core 提供程序。这是我们制作的第一个文档数据库提供程序,从本练习中学到的知识将为 2.1 之后的后续版本的设计改进提供信息。当前计划是在 2.1 时间范围内发布 Cosmos DB 提供程序的早期预览版。

注意:可以在此处观看包含要与 ASP.NET Core 2.1 一起交付的主要功能的简短视频。

于 2018-04-16T16:05:00.133 回答