我正在使用WCF数据服务(Odata)与.NET framework 4.5.1和EF 6.1.我已经使用代码第一种方法来创建EF模型.当我将此EF模型(AddProjectModel.cs)引用到WCF OData服务(WcfDataService1.svc)时,它会抛出以下错误:
错误:
服务器遇到处理请求的错误.异常消息是'在数据上下文类型'AddProjectModel',有一个顶级IQueryable属性'Assets',其元素类型不是实体类型.确保IQueryable属性是实体类型,或者在数据上下文类型上指定IgnoreProperties属性以忽略此属性.请参阅服务器日志以获取更多详 异常堆栈跟踪是:
在System.Data.Services.Providers.ReflectionServiceProvider.PopulateMetadata(ProviderMetadataCacheItem metadataCacheItem)处于System.Data.Services.DataService的System.Data.Services.Providers.BaseServiceProvider.LoadMetadata(Boolean skipServiceOperations)1.CreateInternalProvider(Object dataSourceInstance) at System.Data.Services.DataService1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider&metadataProviderInstance,IDataServiceQueryProvider&queryProviderInstance,对象&dataSourceInstance,布尔逻辑isInternallyCreatedProvider)在System.Data.Services.DataService 1.CreateProvider() at System.Data.Services.DataService1.HandleRequest()在System.Data.Services.DataService`1.ProcessRequestForMessage(流消息体)在SyncInvokeProcessRequestForMessage(对象,对象[],在系统对象[]) System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&rpc)中的.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance,Object [] inputs,Object []&outputs) )在System.ServiceModel.Dispatcher.Immuta 位于System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&rpc)的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&rpc)上的bleDispatchRuntime.ProcessMessage41(MessageRpc&rpc),位于System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1在System.ServiceModel.Dispatcher.MessageRpc(MessageRpc&RPC)(MessageRpc&RPC).进程(Boolean isOperationContextSet)
这是我的WCF数据服务:WcfDataService1.svc
namespace AddProjectService
{
public class WcfDataService1 : DataService<AddProjectModel>
{
// 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.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion …Run Code Online (Sandbox Code Playgroud)