我有一個ASP.NET WebAPI項目。我最近爲我的所有數據表創建了EntityFramework實體。但我不想將我的數據層&架構暴露給我的用戶。如何將我的實體映射到ViewModel(自動映射?)和提供IQueryable返回類型,以便我的API支持OData?使用EF和WebAPI,我如何返回ViewModel並支持IQueryable/OData?
OData支持查詢組合和類似SQL的參數。我想我需要爲查詢組合部分提供某種雙向翻譯?這是否意味着一個自定義的LINQ提供者?我希望比這更容易。
或者我應該放棄IQueryable/OData?
這仍然是可行的Web Api 2? – 2014-02-22 00:24:53
絕對!當然如此。現在只有更多的選擇。 – 2014-02-23 17:14:11
我認爲這種方法不再適用。除非將參數更改爲ODataQueryOptions,否則該方法不會被調用。如果將該參數更改爲該參數,則該方法確實會被調用,但odataQuery.ApplyTo()會引發異常,並說該查詢適用於PersonDto類型,而不是Person類型。 –
sheamus
2014-03-24 07:30:49