類類型現在,我有一個這樣的枚舉:返回基於int值
public enum ReferenceType
{
Language = 1,
Period = 2,
Genre = 3
}
語言,時期和流派是映射回表在我的數據庫中的所有實體類。我也有模型類,它們將實體類幾乎映射爲1,然後我將它們顯示在視圖中。
我也有這樣的服務方法:
List<Model> Get<Model, Entity>()
where Model : BaseModel
where Entity : BaseEntity;
我可以把它像Service.Get<LanguageModel, Language>()
,它會從表語言從我的數據庫返回的每一行,並自動將其轉換爲LanguageModels,我將在隨後在我看來顯示。
我想創建圍繞Get()
方法,你只需要在一個整數傳遞的包裝方法,它會自動調用我在實體和模型類的類型Get()
方法填充。唯一的問題是我很難在這背後的實際實現中包裝我的頭。
的僞代碼將是沿着線:
- 呼叫
WrapperGet((int)ReferenceType.Genre)
- 包裝方法解決實體類型(
Genre
)和模型類型(GenreModel
) - 調用
Get()
方法與解決的實體和模型類型,所以它會Get<GenreModel, Genre>()
- 返回結果
我將如何真正在C#中實現這一點?
所以基本上你想有一個通用的存儲庫之後改變它解決此... ORM,你使用的是什麼,是實體框架? – McGarnagle 2012-07-05 21:03:57
是的。我們使用EF 4.0 – 2012-07-05 21:04:24
如果我對你有所瞭解,對於AutoMapper來說,這看起來很不錯,它是一個基於規則的引擎,用於將一個類轉換爲另一個類。 – neontapir 2012-07-05 22:04:02