Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何基于使用LINQ登录的用户连接到其他数据库_C#_Asp.net_Linq - Fatal编程技术网

C# 如何基于使用LINQ登录的用户连接到其他数据库

C# 如何基于使用LINQ登录的用户连接到其他数据库,c#,asp.net,linq,C#,Asp.net,Linq,我会尽量把这个微笑说清楚|:) 形势 我有一个可以俯瞰的数据库,里面有一张用户的桌子。根据哪个用户登录,应用程序应该连接到保存有关该用户组织的更多信息的数据库 因此,用户所属的数据库有多个(动态的)。所有组织数据库都具有相同的表结构,但都位于不同的数据库中 问题 如果我想与Linq合作,是否可以动态连接到不同的数据库 我可以将组织数据库的连接字符串保存在我的俯瞰数据库中吗?或者这里最好的方法是什么 谢谢大家! 在web.config中添加一组连接字符串。 根据需要切换字符串。LINQ只是一个

我会尽量把这个微笑说清楚|:)

形势
我有一个可以俯瞰的数据库,里面有一张用户的桌子。根据哪个用户登录,应用程序应该连接到保存有关该用户组织的更多信息的数据库

因此,用户所属的数据库有多个(动态的)。所有组织数据库都具有相同的表结构,但都位于不同的数据库中

问题

  • 如果我想与Linq合作,是否可以动态连接到不同的数据库
  • 我可以将组织数据库的连接字符串保存在我的俯瞰数据库中吗?或者这里最好的方法是什么

谢谢大家!

在web.config中添加一组连接字符串。
根据需要切换字符串。

LINQ只是一个框架,用于根据您在ASP.NET中编写的代码以SQL或其他语言生成查询。LINQ的真正威力在于它能够使用不同的框架生成查询。我对三个概念了如指掌:Linq到SQL、实体框架和Telerik开放存取ORM


在实体框架中,您描述的情况是我必须编写代码的地方。最大的问题是从SQL连接字符串生成正确的“实体连接字符串”。如果需要的话,我应该能够提供我从某处获得的一些代码来切换SQL连接字符串,但它可能会对模型名称进行一些假设,因此您可能需要对其进行调整。

我会为组织数据创建一个存储库,其中包含带有连接字符串作为参数之一的方法。像

public User GetUser(string connectionString, string name)
{
    using(var context = new OrganizationContext(connectionString))
    {
        ....
    }
}
其中,
OrganizationContext
可以是Linq到Sql数据上下文或实体框架ObjectContext。您可能希望使用后者


将连接字符串存储在Overview数据库中可能是最好的选择。

我们在这里讨论的用户数量可能重复?如果它的数量在十几个或更少,数据库显然是一种过度使用。嗯,每个组织都会创建一个数据库。。所以不是每个用户。每个组织有多个用户。但我认为组织的数量将保持在十几个以下。问题是,这些组织可以通过网络进行管理,因此可以添加或删除。。。那么我应该覆盖web.config吗?将它们存储在数据库中,然后如何在它们之间切换?那么linq知道这个结构吗?