首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EF5 CodeFirst架构名称

EF5 CodeFirst架构名称
EN

Stack Overflow用户
提问于 2013-02-15 16:09:34
回答 2查看 604关注 0票数 1

我正在开发这个应用程序,其中我必须从多个模式(在运行时定义)的多个表(都具有相同的结构)中读取数据。通过代码优先的方法使用实体框架5,我需要一种方法来更改实体的模式名称。目前,我正在使用一个带有两个参数的构造函数创建我的DbContext,一个DbConnection和模式名(我在被覆盖的OnModelCreating中使用)。

我第一次创建DbContext时,一切运行正常,并且我能够获得数据。但是当我用第二个模式名创建一个新的DbContext时,DbContext使用的DbConnection是传递到构造函数中的那个,但是实体中的模式名仍然是第一个,因为即使我正在创建一个新的DbContext实例,OnModelCreating也不会被调用。

有什么想法吗?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-15 16:40:41

为此,您可以为每个架构(使用默认架构集)创建一个SQL Server用户和多个连接字符串。

在您的应用程序中,为每个用户(架构)创建一个连接字符串。添加一个接受连接字符串的dbcontext构造函数,然后将适当的连接字符串传递给该构造函数。

票数 0
EN

Stack Overflow用户

发布于 2013-02-15 17:17:37

您可以通过提供一个自定义的数据库初始化器(IDatabaseInitializer和Database.SetInitializer(新的YouCustomInitializer());)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14890488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档