首先,我是EF新手,但我是一位经验丰富的NHibernate用户......
我正在尝试更新与现有数据库通信的现有EF存储库层,以便在提交给数据库的每个查询中自动包含模式。澄清:
每次都不会创建数据库,因此永远不会调用DbContext的OnModelCreating方法。这些类有来自DataAnnotations命名空间的[Key]等,所以我首先猜测它是代码。
在NHibernate中,这很简单,因为我可以在构建配置时添加默认模式,这样无论现有的类模型如何,每个查询都会自动添加模式 - 数据库和类模型不需要更新。
这是否可以在Entity Framework中实现?如果可以,我将把这个覆盖放在哪里?如果没有,我如何更改EF以为每个查询注入架构?我可以覆盖查询生成功能吗?
由于
答案 0 :(得分:0)
在您的DbContext中添加以下内容
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("myNewSchema");
}
如果在其他地方没有定义架构,那么它将全局处理它。我认为其他地方明确定义的模式将覆盖您在此处设置的默认模式。