OData (System.Web.Http.OData
, 5.1.0.0)를 사용하는 간단한 WebAPI2 서비스가 있습니다. 사용자는 /odata/$metadata
을 눌러 사용 가능한 엔티티 및 속성을 가져올 수 있습니다. 속성에 "표시 이름"값을 추가하는 것과 같은 추가 정보를 사용하여이 메타 데이터를 확장하는 방법을 찾고 있습니다.WebAPI의 OData 메타 데이터에 임의의 데이터 추가 중?
내가 원했던 것처럼 들리는 "주석"에 대한 정보를 찾았지만 내 시나리오에서 이것을 사용하는 방법을 설명하는 것이나 심지어 가능할 때도 찾을 수 없습니다. 나는 다음과 같은 일을하려고했다 :
model.SetAnnotationValue(((IEdmEntityType)m.FindType("My.Thing")).FindProperty("SomeProperty"),
namespaceName:"MyNamespace",
localName: "SomeLocalName",
value: "THINGS");
유형/속성 이름이 올바른지 확인하고 통화는 성공하지만, 하나로, OData EDMX 문서는이 주석이 포함되어 있지 않습니다. 이러한 주석을 노출하거나 내가 원하는 것을 수행 할 수있는 방법이 있습니까?
업데이트 :
여전히 그렇습니다. 이 문제를 해결할 수있는 방법은 ODataMediaTypeFormatters
입니다. 엔터티에 인스턴스 주석을 추가하는 방법을 보여주는 ASP.NET sample project이 있습니다. 가까운,하지만 정확히 내가 원하는, 그래서 지금 나는 비슷한 방식으로 메타 데이터 문서를 생성하는 모든 것을 확장하는 방법을 찾으려고 노력하고있어.
@raddium을 이 구현을 사용하고 완벽하게 작동하지만,에 사용자 지정 특성을 추가하려는 문제에 직면하고 있습니다. 이것이 가능한가? .FindProperty ("RevisionDate")를 제거하여 시도했습니다. –
Shivkumar