【发布时间】:2012-03-18 22:15:24
【问题描述】:
我们的项目首先使用实体框架代码。我们希望有一个实例,其中一个非常简单的 POCO 代表数据库中的许多表。它是 SQL Azure 中水平分区策略的一部分。 SQL Azure 不支持文件组,因此它不支持典型的分区。将有大量表,因此通过基表上的 CHECK CONSTRAINT 将 UNION ALL 视图用作分区视图是不可行的。
因此,我们希望在运行时根据需要执行映射。但是,这发生在 DbContext 类的 OnModelCreating 事件中,通过诸如
之类的代码modelBuilder.Entity<EntityName>().ToTable("foo", "bar");
。我们是否可以在工厂内执行此映射?我们更愿意向工厂提供元数据,然后让它使用 Fluent API,而不是通过 ModelBuilder 在 POCO 和表之间进行一对一的映射。
【问题讨论】:
-
不清楚你要求什么。您始终可以在
OnModelCreating中使用自定义代码创建映射。 -
我不想在 OnModelCreating 中定义它。我想要一个类,并且能够将该类动态映射到具有相同架构的多个表。如果我在 OnModelCreating 中这样做,我不相信我有这个选项。使用开箱即用的 OnModelCreating 可以映射到一个且只有一个表。
标签: entity-framework code-first azure-sql-database