我正在尝试向我的实体添加一个对象,但它给了我错误:“Not Found” 这是我的代码:
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();
我在AddObject中尝试了“汽车”和“汽车”,但仍然没有帮助..我的CARID列是数据库中的PKEY列。
请帮忙。感谢。
答案 0 :(得分:0)
您可能需要在DataService类上设置读/写设置
public class FooDataService : DataService<MyContext>
{
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("Cars", EntitySetRights.All);
}
}
如果您使用ObjectContext
,那么DataService<T>
将知道使用EF WCF数据服务提供商。但是,如果您的T
不是,(例如DbContext
或DataContext
),则默认情况下,WCF数据服务使用反射提供程序(只读)。
有一个hack可以从ObjectContext
中获取DbContext
,但是如果你需要使用DataContext
,nHibernate或任何其他类型的上下文,你需要编写自定义IDataServiceUpdateProvider
implementation.