如何使用 .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 时出现问题