【发布时间】:2011-06-10 15:05:00
【问题描述】:
我正在创建一个实体框架代码优先模型来针对 SQL Server 数据库执行即席查询。我的 EF 模型中没有包含来自“dbo”模式的任何表/视图;相反,我只在我的数据库中包含来自“模型”模式的表/视图。我的数据库中确实有重复的对象名称,这些名称仅由架构分隔(例如“dbo.Child”和“model.Child”)。
我是否可以在 DbContext 中指定一行,其实质上是“将此上下文中的所有实体映射到‘模型’模式”?我知道我可以将每个实体映射到正确的架构(见下文),但我想避免再次列出数据库中的每个实体。
这是我知道我能做到的:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Child>().ToTable("Child", "model");
modelBuilder.Entity<Referral>().ToTable("Referral", "model");
// 100 lines later...
modelBuilder.Entity<Exit>().ToTable("Exit", "model");
}
这是我想做的:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Add(new MapAllEntitiesToSchemaConvention("model"));
}
【问题讨论】:
标签: entity-framework ef-code-first