通过Entity Framework代码中的流畅映射,您可以在运行时指示默认架构.这是在DbContext子类中的OnModelCreating中的一个语句,例如:
modelBuilder.HasDefaultSchema("dev");
您习惯于从数据库中重新生成模型,从中我得出结论,模型不包含许多(或任何)自定义,这些自定义将使模型生成成为艰苦的操作.这也应该使得移动到代码优先相对容易.所以我建议你这样做.
在Visual Studio中,您可以通过从Visual Studio的实体框架工具附带的模板添加“ADO.Net实体数据模型”,从现有数据库生成代码优先模型. (可能已预先安装).选择“数据库中的代码优先”选项并遵循指南.
如果这样做,您将在包含模型的项目中找到连接字符串.此连接字符串可以作为您将放入执行程序集的配置文件中的连接字符串的模板.你会注意到它看起来不像……
metadata=res://* ... provider=System.Data.SqlClient;provider connection string="...""
这是属于数据库优先edmx模型的连接字符串.它包含元数据文件的路径,这些元数据文件作为资源生成到程序集中.相反,连接字符串将是一个简单的ADO.Net连接字符串.使用代码优先,EF将在运行时生成元数据.
如果你有这个,你可以在配置文件中添加一个条目用于默认数据库模式,并使用它来设置我上面显示的模式.