Я использовал следующий Начало работы, чтобы создать свой первый WCF службы данных с подключением к базе данных. https://msdn.microsoft.com/en-us/data/gg192995.aspxслужбы WCF Data Request Error
Я сделал это до шага 13, но я не получаю никакого корма XML. Вместо этого я получаю следующее сообщение (к сожалению, на немецком языке):
На сервере произошла ошибка при обработке запроса . Сообщение об исключении Выражение типа „System.Data.Entity.Core.Objects.ObjectContext“ не может быть использован для типа возврата «System.Data.Objects.ObjectContext„“. Для подробной информации в журналах сервера. Исключение трассировки стека выглядит следующим образом:
на System.Linq.Expressions.Expression.ValidateLambdaArgs (тип DelegateType, выражение & тела, ReadOnlyCollection
1 parameters) bei System.Linq.Expressions.Expression.Lambda[TDelegate](Expression body, String name, Boolean tailCall, IEnumerable
1 Параметры) при System.Data.Services.Providers.DbContextHelper.CreateDbContextAccessor (тип тип) (при Тип System.Data.Services.Providers.DbContextHelper.GetDbContextAccessor типа) в System.Data.Services.DataService1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider& metadataProviderInstance, IDataServiceQueryProvider& queryProviderInstance, Object& dataSourceInstance, Boolean& isInternallyCreatedProvider) bei System.Data.Services.DataService
1.CreateProvider() в System.Data.Services.DataService1.HandleRequest() bei System.Data.Services.DataService
1.ProcessRequestForMessage (поток тело сообщения) на SyncInvokeProcessRequestForMessage (Object, Object [] , Object []) (например System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke Object, Object [] входы, Object [] & выходы) в System.ServiceModel. Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc & RPC) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5 (MessageRpc & Rpc) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41 (MessageRpc & Rpc) при System.ServiceModel (.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4 MessageRpc & RPC) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31 (MessageRpc & Rpc) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3 (MessageRpc & Rpc) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2 (MessageRpc & RPC) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11 (MessageRpc & Rpc) при System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1 (012,351,641 MessageRpc RPC) в System.ServiceModel.Dispatcher.MessageRpc.Process (Boolean isOperationContextSet)
Может быть, это не работает из-за новых версий с SQL Server, IIS или Visual Studio?
Может быть, некоторые проблемы пространства имен?
Сообщение об ошибке говорит ничего System.Data.Entity.Core.Objects.ObjectContext не может быть преобразован в System.Data.Objects.ObjectContext.
Вот код из WcfDataService1.svc.cs файла
//------------------------------------------------------------------------------
// <copyright file="WebDataService.svc.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Data.Services;
using System.Data.Services.Common;
using System.Linq;
using System.ServiceModel.Web;
using System.Web;
using System.ServiceModel;
namespace RestWcfService
{
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class WcfDataService1 : DataService<AdventureWorksLTEntities>
{
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
// TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
// Examples:
config.UseVerboseErrors = true;
config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.AllRead);
config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
}
}
}
Спасибо за это предложение! Я переустановил EF до 6.1.3 и использовал генерацию кода. Но проблема такая же, как и раньше. Единственное, что не работает, - это обновление пространств имен. Мне просто нечего обновлять. –