[英]Versioning an API with the Entity Framework
我正在使用我們公司已經使用多年的數據庫架構,並且無法更改其基本結構。 提出了訪問此數據的API的需求,因此我們決定使用WCF數據服務和實體框架。 為了使數據模型比我們的表結構更有意義,我們將EF模型附加到了SQL Views而不是表中。 對於我們的目的,這確實非常有效。
現在,我正在考慮創建第二個(更新的)API版本,同時需要現有的API繼續適用於舊應用程序,並使兩個API並排運行,可以通過以下方式訪問不同的URL端點。
我已經為新版本創建了新的WCF數據服務終結點,並根據需要創建了新的SQL視圖(其名稱后附加了“ _v2”),以及將模型映射到新視圖的新數據庫上下文。 這也很好。
令人不安的是,我還希望擁有EF模型類的單獨版本,因為我希望在其中實現一些細微的差異。 但是我遇到了命名沖突,其中EF框架給出了錯誤“將CLR類型映射到EDM類型是模棱兩可的”。
具有第二組相同名稱的EF模型的唯一方法是從單獨的程序集中加載模型。 這是我唯一的選擇嗎? 我還應該考慮其他方法嗎?
我還考慮過為兩個版本使用相同的EF模型類,並在配置模型時使用Ignore方法,但這並不理想。
任何關於替代方法的建議表示贊賞!
將新模型放在另一個名稱空間中。
Namespace ModelsV2
{
public class CarsV2
{
...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.