Linq to Sql with dynamic database
本文关键字:dynamic database with Sql to Linq | 更新日期: 2023-09-27 17:56:39
我现在正在创建一个在运行时创建数据库的应用程序。
例如:用户"A"注册到我的服务器将获得数据库A.sdf
。
之后,我想使用 Linq-to-SQL 创建与新创建的数据库文件的连接。
我想知道我是否会在 Visual Studio 中的设计过程中创建该连接,表会显示为数据库上下文的类吗?
例如:A.sdf
有一个包含以下列Inventory
表:
- 身份证
- 名字
因此,在 Visual Studio 中,将有一个名为 Inventory
的类,它具有 2 个属性。
请问谁能告诉我如何做到这一点?
如果使用实体框架,并且数据库的结构相同,则可以使用相同的域模型(EF 类)来处理所有数据库。您所需要的只是使用不同的连接字符串创建数据上下文。对于考试:
public class DataBaseContext : DbContext {
public DataBaseContext (string connectionString="defaultConStrInConfig") : base(connectionString) {}
/* some code to bind tables etc */
}
在您的方法中:
if (userA) conStr = "<connection string for userA>";
using (var context = new DataBaseContext(conStr)){
/* work with userA's database */
}
互联网上有许多网站提供了有关如何从数据库生成 Linq to SQL 类的信息。
在开发过程中,您需要将其配置为使用与某种 master 数据库的连接,并根据需要设计的表。
在运行时,可以更改用于构造数据上下文的连接字符串,以便可以使用位于其他位置的数据库文件。