Entity framework 4 EF4数据库第一个可配置模式

Entity framework 4 EF4数据库第一个可配置模式,entity-framework-4,database-schema,ef-database-first,Entity Framework 4,Database Schema,Ef Database First,我有一个问题,几天来我一直在努力解决,但我无法找到正确的方法。 我使用的是EF4,我有一个应用程序,我首先使用数据库,它最初创建了ObjectContext,我没有加载DbContext生成器并生成它 问题是,我需要应用程序能够从一些配置文件中获取数据库模式,而不是总是使用“dbo”默认值。 我试图在“OnModelCreating”重载方法中使用“ToTable”方法(因此我可以指定模式),但作为sai,因为我首先使用数据库,所以没有调用该方法 如何配置架构名称? 这可能吗? 我也读过这篇文章

我有一个问题,几天来我一直在努力解决,但我无法找到正确的方法。 我使用的是EF4,我有一个应用程序,我首先使用数据库,它最初创建了ObjectContext,我没有加载DbContext生成器并生成它

问题是,我需要应用程序能够从一些配置文件中获取数据库模式,而不是总是使用“dbo”默认值。 我试图在“OnModelCreating”重载方法中使用“ToTable”方法(因此我可以指定模式),但作为sai,因为我首先使用数据库,所以没有调用该方法

如何配置架构名称? 这可能吗? 我也读过这篇文章,文章中说我可以先将数据库和代码结合起来,但如果我不能使用“OnModelCreating”方法,我就看不出如何做到这一点


提前谢谢大家

我不知道如何配置模式。但是,如果希望先将db-first方法更改为代码,只需更改DbContext构造函数的字符串参数即可

假设EF Db首先为您创建了以下DbContext:

public class MyDbContext : DbContext
{
    public MyDbContext()
        : base("Name=DefaultConnection")
    {

    }

    // DbSets ...
}
将其更改为以下内容,首先开始使用代码和它的所有神奇工具(迁移等):

这会导致EF在本地计算机上的web.config文件中使用SQL Express创建一个新的连接字符串,名称为
YourDbFileName
,类似于最初创建的早期
DefaultConnection
Db


您可能需要继续您的方式,就是根据您的服务器和其他选项编辑
YourDbFileName
contr。

在数据库首次设置时使用任何类型的“代码优先”都没有意义,因此我不明白您试图在这里回答什么。实体框架似乎强制添加
dbo
作为模式,我看到的所有解决方案都是先谈代码。但是,不能用代码优先的解决方案来解决数据库优先的问题,因此研究类似的问题毫无意义。
public class MyDbContext : DbContext
{
    public MyDbContext()
        : base("YourDbFileName")
    {

    }

    // DbSets ...
}