繁体   English   中英

ASP .Net Entity Framework每个用户一个数据库

[英]ASP .Net Entity Framework one database per user

我正在制作一个供多个公司使用的Web应用程序,我希望他们每个人都有一个单独的数据库。

在登录屏幕上,用户将选择公司,公司将转到单独的数据库中以获取连接字符串数据。 该应用程序首先使用代码,因此如果尚不存在此新连接字符串,则将使用该新连接字符串创建数据库。

我的方法是将连接字符串存储在用户的Session中。

public MyContext() : base(MySession.Current.ConnectionString)
{
     Database.SetInitializer(new MyDevDbInitializer());    
}

我创建了一个默认的连接字符串,以防无法获取会话一。 这似乎可行,但我可以看到它在获取存储的每个请求之前都多次使用默认请求。 但是数据库创建和CRUD操作工作正常。

我不知道我是否以正确的方式进行操作,并且其他已完成的请求是否很重要(我认为它们很重要),这些请求是在内部完成的,所以我似乎无法追踪它们。

抱歉,长文本。 :)

我认为,对每个公司使用1个数据库是很好的。 对于用户,您需要创建一个表来存储所有用户的所有信息,表可以足够大,没关系。 我建议对多个数据库使用1个实体: http : //olivierhelin.com/blog/entity-framework/entity-framework-6-one-entity-data-model-multiple-databases-2

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM