1

我“继承”了一个 EF 4.0.edmx文件。当前,给定的属性名称和列名称在生成的 C# 和 SQL 架构中是相同的。我已经升级到 EF 4.1,并将代码生成项更改为生成 aDbContext而不是ObjectContext.

我想要做的是生成列名可能不同的 SQL 模式。例如,假设我有一个Id属性/列Product; 我想Id为类(通过 T4 模板生成)和ProductId列(不知何故通过从模型生成数据库...从图中的上下文菜单条目)生成,然后使用基于代码的流式配置功能来映射两个通过EntityTypeConfiguration<T>.HasColumnName()

我可以这样做还是有合理的选择?我意识到我可以使用 4.1 在代码中完成这一切,但想知道这种“过渡”方法是否可行。

4

1 回答 1

0

我放弃了这一点,转而支持完全代码优先,但我认为有一种方法可以做到:

  1. 在模型中,使用列名。
  2. .edmx.
  3. 在 T4 模板中,从某种映射文件(例如 csv)中读取并应用一些逻辑来根据需要生成 C# 类并生成HasColumnName调用。

应该可行,但比我愿意为创建正确的模板付出更多的努力。

于 2011-07-06T20:48:00.710 回答