在我的ODATA web api v4中,我試圖讓多個DTO用於單個實體。OData multiple DTO for same entity
ODataModelBuilder builder = new ODataConventionModelBuilder();
var version = builder.MaxDataServiceVersion;
builder.EntitySet<PersonModelAdminDTO>("PersonModel").EntityType.HasKey(p => p.RecordId);
builder.EntitySet<PersonModelBasicDTO>("PersonModel").EntityType.HasKey(p => p.RecordId);
我試過上面的代碼,但它說實體已經添加了。
基本上,因爲我不想公開PersonModel的所有屬性爲基本用戶,我創建了單獨的DTO。
我不想將PersonModelAdminDTO和PersonModelBasicDTO集合分別顯示給客戶端元數據,因爲這會讓人感到困惑。
---編輯----
繼我曾嘗試 https://github.com/OData/ODataSamples/tree/master/WebApi/v4/DynamicEdmModelCreation
的建議修改了它稍微
await SendQuery("/odata/mydatasource/Products?$select=ID", "Query the Products entity set.");
似乎在現有的bug開放:
stackoverflow.com/questions/29308157/
github.com/OData/WebApi/issues/175
第二個選項不支持OData的查詢,即$過濾器,中心$選擇等 – mehwish
@mehwish它可以做,這是怎麼了我有我的系統設置,它支持$ filter和$ select。你爲什麼認爲它不會支持? – TomDoesCode
我已使用您的建議編輯了我的問題。如果您有解決此問題的工作,請讓我知道。 – mehwish