小编use*_*469的帖子

WCF OData服务和EF 6问题 - 无法使用Odata服务公开实体

我正在使用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)

wcf entity-framework odata

8
推荐指数
1
解决办法
6688
查看次数

在客户端提取Json数据

我有以下JSON数据发送到客户端.我需要以某种方式提取数据,以便我可以遍历它以获取所有名称和计数值.

{
 "summarydata": {
    "rows": [
      {
        "name": "Cisco0 Webinar US",
        "count": "1"
      },
      {
        "name": "Resource Nation CC",
        "count": "1"
      },
      {
        "name": "test",
        "count": "10"
      },
      {
        "name": "test",
        "count": "2"
      },
      {
        "name": "Vendor Seek",
        "count": "1"
      }
    ]
  }
}

$.extend($.jgrid.defaults,   
      { datatype: 'jsonstring' },
      { ajaxGridOptions: { contentType: "application/json",   
      success: function (data, textStatus) { 

          if (textStatus == "success") {   
              var thegrid = $("#BuyBackGrid")[0];
              thegrid.addJSONData(data.data);  
              var summaryresult = $.parseJSON(data.summarydata.rows[0]);

              alert(summaryresult );// this gives me null
              alert(data.summarydata.rows[0].name); …
Run Code Online (Sandbox Code Playgroud)

json

4
推荐指数
1
解决办法
5211
查看次数

标签 统计

entity-framework ×1

json ×1

odata ×1

wcf ×1