0

我正在尝试向我的实体添加一个对象,但它给了我错误:“未找到”这是我的代码:

    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 中尝试过“Cars”和“Car”,但仍然没有帮助..我的 CARID 列是数据库中的 PKEY 列。

请帮忙。谢谢。

4

1 回答 1

0

您可能需要在 DataService 类上设置读/写设置

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

如果您使用的是ObjectContext然后DataService<T>将知道使用 EF WCF 数据服务提供程序。但是,如果您T不是(例如DbContextDataContext),则默认情况下 WCF 数据服务使用反射提供程序(它是只读的)。

有一个技巧可以摆脱ObjectContextDbContext但如果您需要使用DataContext、nHibernate 或任何其他类型的上下文,则需要编写自定义IDataServiceUpdateProvider实现。

于 2013-06-03T08:15:27.617 回答