如何使用 .NET 代码优先搜索多个 SQL Server 数据库

Posted

技术标签:

【中文标题】如何使用 .NET 代码优先搜索多个 SQL Server 数据库【英文标题】:How to search multiple SQL Server databases with .NET code-first 【发布时间】:2022-01-19 22:38:16 【问题描述】:

我写了一个 b2b 项目。有公司和公司的时期。每个公司都有一个数据库。

每家公司都有客户,客户有用户名和密码,但一个客户可以有很多家公司。作为登录数据库的客户,无论我是否在该公司/数据库中,我都必须在每个公司中进行搜索。目前太贵了。

例如:

Firm
X          --> Client table -->  Jason  12345 Jason@...
Y          --> Client table -->  Mark   2233  Mark@...,.mary 888 mary@.. 
Z          --> Client table -->  Jenifer  111  J@...,jack .. , Mark,...,...,....,...
When user(Mark) login, he has to loop in all db if he exists(x,y,z,t...).

我正在尝试列出 Mark(已记录 Mark 的电子邮件)是否拥有超过 1 家公司。我正在循环使用 foreach 上下文。

我不知道还有其他方法可以做到这一点。有吗?

数据库表名(客户端用户表)相同。

我有一个想法:在主数据库中,如果我创建一个客户端用户记录。我可以在这里做登录操作吗?

有谁能帮帮我吗?

我正在使用

SQL 服务器 .NET Core,实体框架代码优先

【问题讨论】:

那也是Entity Framework Core 吗?还是您在 .NET Core 上使用“旧的”EF v6? 实体框架核心 【参考方案1】:

您应该有一个单独的“主”数据库来存储(公司,客户)对和每个公司数据库的连接字符串。当客户登录时,在主数据库中搜索客户有权访问的公司。

【讨论】:

你是对的,大卫 在sql结构中,在sql中为每个公司和公司的时期创建了一个新的数据库,所以为什么master数据库中没有clients表。因为我想使用关系。最好的解决方案。选择客户需要的公司和期限

以上是关于如何使用 .NET 代码优先搜索多个 SQL Server 数据库的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET EF5 代码优先不创建 SQL Server CE 数据库

使用具有多个搜索条件的 Knex.js 和 SQL 的条件过滤器

使用带有实体框架代码优先和 ASP.NET MVC 3 和 mvc miniprofiler 的 SQL Server CE 时出现问题

在现有的数据库优先多个 .NET Core 项目解决方案中迁移到代码优先的最佳方法是啥?

实体框架代码优先和搜索标准

如何在 youtube api 中跨多个频道搜索内容?