簡體   English   中英

使用實體框架對API進行版本控制

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM