【发布时间】:2014-02-11 18:09:32
【问题描述】:
我正在使用我们公司已使用多年的数据库架构,但无法更改它的基本结构。需要一个 API 来访问这些数据,所以我们决定使用 WCF 数据服务和实体框架。为了让数据模型比我们的表结构更有意义,我们将 EF 模型附加到 SQL 视图而不是表。这对我们的目的非常有效。
现在我正在考虑创建 API 的第二个(更新)版本,同时需要现有 API 继续为旧应用程序工作,并让两个 API 并行运行,通过不同的 URL 端点访问。
我已经为新版本创建了一个新的 WCF 数据服务端点,根据需要创建了新的 SQL 视图(其名称附加了“_v2”),以及一个将模型映射到新视图的新数据库上下文.这也很有效。
问题是我还想拥有单独版本的 EF 模型类,因为我想在它们中实现细微的差异。但是我遇到了命名冲突,EF 框架给出了错误“CLR 类型到 EDM 类型的映射不明确。”
拥有第二组同名 EF 模型的唯一方法是从单独的程序集中加载模型。这是我唯一的选择吗?我应该考虑其他一些方法吗?
我也考虑过为两个版本使用相同的 EF 模型类,并在配置模型时使用 Ignore 方法,但这也感觉不太理想。
对替代方法的任何建议表示赞赏!
【问题讨论】:
标签: .net wcf entity-framework