2013-06-02 1 views
0

내 개체에 개체를 추가하려고하지만 나에게 오류를주고있다 : 나는 "자동차"와 "시도WCF 데이터 서비스 AddObject는

DataServiceContext dtx = new DataServiceContext(new Uri("http://localhost/website2/wcfservice1.svc/")); 
    dtx.Credentials = System.Net.CredentialCache.DefaultCredentials; 
    ServiceReference1.Car car = new ServiceReference1.Car(); 
    car.CarName = "aaa"; 
    car.CarModel = "111"; 

    dtx.AddObject("Car", car); 

    dtx.SaveChanges(); 

:"찾을 수 없음 "은 여기 내 코드입니다 Car "둘 다 AddObject에서하지만 여전히 도움이 안돼 .. 내 CARID 열은 데이터베이스의 PKEY 열입니다.

도와주세요. 감사.

+0

를 작성해야합니다 엔티티가 설정 되나요? 즉, http : //.../wcfservice1.svc에 갈 때 표시되는 이름은 무엇입니까? –

+0

그 이름이 "Cars"로 표시됩니다 – RHM

+0

흠,'dtx.AddObject ("Cars", car);'는 동일한 오류를 줍니까? 그리고 그 오류는 서버에서 404입니까? Fiddler (또는 다른 웹 트래픽 모니터링 프로그램)와 같은 도구를 사용하여 나가는 요청 URI (및 페이로드)가 무엇인지 확인할 수 있습니까? 나는 URL이'/ wcfservice1.svc/Cars'라고 기대할 것이며, 브라우저에서 해당 URL로 이동하면 404를 얻지 못할 것이라고 기대할 것이다. –

답변

0
당신이 다음 DataService<T>는 EF WCF 데이터 서비스 공급자를 사용하는 알 것 ObjectContext를 사용하는 경우 당신은 당신의 DataService 클래스

public class FooDataService : DataService<MyContext> 
{ 
    public static void InitializeService(DataServiceConfiguration config) 
    { 
     config.SetEntitySetAccessRule("Cars", EntitySetRights.All); 
    } 
} 

에 읽기/쓰기 설정을 설정해야 할 수도 있습니다

. 그러나 T이 무엇이든 (예 : DbContext 또는 DataContext) 기본적으로 WCF Data Services는 읽기 전용 인 리플렉션 공급자를 사용합니다.

DbContext 밖으로 ObjectContext을 얻을 수있는 해킹이 있습니다,하지만 당신은 DataContext, nHibernate 수, 또는 상황의 다른 유형을 사용해야 할 경우, 당신의 이름은 무엇 사용자 정의 IDataServiceUpdateProviderimplementation.