gpt4 book ai didi

asp.net-mvc - Entity Framework ——只考虑满足特定条件的记录

转载 作者:行者123 更新时间:2023-12-04 19:52:31 24 4
gpt4 key购买 nike

我正在开发一个使用一个数据库的项目(Web 应用程序 - ASP.NET MVC)。直到现在说数据库为一个客户端保存记录,但现在我需要将它转换为多客户端数据库。我们的想法是,我们向数据库中的每个表添加一列(例如 CompanyId),并且在查询中只考虑具有特定 CompanyId 的记录。

不幸的是,这个项目现在已经很发达了,在每个服务调用、每个 Linq 查询等中添加额外的参数真的很麻烦。我知道应该从一开始就以这种方式(多客户端)处理,现在我为此付出了代价。

所以我有两个选择:

  1. 单一数据库 - 问题是如何告诉 EF 只考虑 CompanyId = X 的记录,而不是在每个 Linq 查询中写入 Where(i => i.CompanyId == X)。

  2. 一个数据库 = 一个客户 - 为每个客户创建一个数据库似乎是一个很好的解决方案,但在我们的项目中,用户可以访问多个数据库(客户可以与许多公司相关联,并被要求选择他想与哪家公司合作的背景,他可以自由更改)。问题是我真的不知道如何在运行时更改连接字符串,我不知道这个解决方案是否可行。

能否请您告诉我哪个选项更好以及如何处理它?提前谢谢你。

最佳答案

为什么不为每家公司提供单独但相同的架构。然后,您可以根据所选公司注入(inject)正确的数据库上下文对象。通过这种方式,您可以避免主要的数据库编辑,也可以避免公司 ID 的条件。

关于asp.net-mvc - Entity Framework ——只考虑满足特定条件的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16105699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com