많은 System.TimeSpan 속성을 노출하는 Entity Framework 개체 컨텍스트를 통해 WCF 데이터 서비스를 만들려고합니다. 그러나 서비스에 액세스하려고하면 다음 오류가 발생합니다. ''DepotRoute '유형의'ScheduledDepartureTime '속성이'Time '유형으로 지원되는 기본 유형이 아닙니다.'Entity Framework를 사용하는 WCF DataService : TimeSpan 지원
내가 DataServiceConfiguration.RegisterKnownType (대해서 typeof (시간 범위))뿐만 아니라 DataServiceConfiguration.EnableTypeAccess (대해서 typeof (시간 범위) .FullName) 만 사용하여 시도했다 이들 중 어느 쪽도 차이 만들 것 - 나는 여전히 오류를 ...
내 상황이 DbContext로 생성되고 있지만public static void InitializeService(DataServiceConfiguration config) {
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
config.UseVerboseErrors = true;
config.RegisterKnownType(typeof(TimeSpan));
config.EnableTypeAccess(typeof(TimeSpan).FullName);
RouteTable.Routes.Add(new ServiceRoute("Data", new DataServiceHostFactory(), typeof(Data)));
}
는, 나는
protected override ObjectContext CreateDataSource() {
var context = new MercuryContext().ObjectContext;
context.ContextOptions.ProxyCreationEnabled = false;
return context;
}
내가 그러나 또한 서비스 학사 학위를 노출 시도 ... DataService에 같은 서비스를 만드는 대신 ObjectContext를 노출하는 CreateDataSource를 오버라이드 (override) 한 표준 EF 모델에 따라 달라 지지만 이것도 아무런 차이가 없습니다. VS11 Develop Preview를 사용하여이 도구를 사용해 보았습니다. 이것은 또한 내 속성을 노출시킬 수 없습니다.
무엇이 누락 되었습니까? 이를 수행 할 수있는 방법이 있어야합니다.
http://stackoverflow.com/questions/5587433/how-do-i-expose-a-timespan-through-a-wcf-data-service의 속일 수 있습니다. – JayC
JayC : 방금 살펴봤을 때, 나는 그것이라고 생각하지 않는다. 이것은 특히 EF 생성 속성에 대한 것이지만 원래 게시물은 코드에서 수정할 수있는 손으로 만든 속성을 노출하는 것처럼 보입니다 (반면에 내 속성이 생성됨). –