我不認爲使用Azure移動服務應該促使您重新構建現有的所有架構。這就是說,三種可能的解決方案,你可以嘗試。
第一個是實際上不使用Azure移動服務的EntityData類 - 它不是強制從orer中的EntityData繼承來使用AMS。如果你想使用TableController,你需要繼承EntityData,這可能是一個好主意,因爲它提供了很多內建功能,但是你可以選擇使用普通的ApiController和你當前的模型。
另一種可能的解決方案是使用所謂的DTO(數據傳輸對象),它可以幫助您保持當前的架構,但仍然能夠使用AMS。
這裏有更多的信息關於DTO一些鏈接: What is Data Transfer Object? Create Data Transfer Objects (DTOs)
一種可能implmentation:
假設你有以下型號:
public class MyUser
{
public int MyId
{
get;
set;
}
public string SomeOther
{
get;
set;
}
}
正如你所指出的如果你想在AMS中使用這個模型,你需要使用他們的Id屬性來代替MyId。如果你想保持完好MYUSER您能介紹以下類:
public class MyUserDTO : EntityData
{
public string SomeOther
{
get;
set;
}
}
現在,您的服務將使用MyUserDTO這就好比爲你的原始模型的代理。您必須解決的問題是您應該在MyUserDTO和MyUser之間進行轉換。如果你的模型很簡單,並且你沒有複雜的層次結構,那將很容易。如果你有複雜的模型DTO可能不是正確的方法。 Automapper是一個工具,可以幫助您從模型映射到DTO,反之亦然。
不過,我沒有太多有關您的架構的信息,並且使用DTO可能不太合適。