Solicitar error con WCF Data Services

Es mi primera vez que configuro un servicio OData y, por supuesto, tengo algunos problemas ...

El problema es que no puedo hacer funcionar el servicio, sigo recibiendo un "Error de solicitud".

yo tengoinvestigado en lo que puede ser el problema y encontré que un problema común es que las reglas de acceso se escriben incorrectamente. Así que he intentado arreglar esto con nombres singulares, nombres en plural y también he intentado contypeof(Post).getType().Name

Pues aquí está mi código. Espero que me puedas ayudar, he estado estancado por horas.

public class ODataService : DataService<Entity>
{
    // This method is called only once to initialize service-wide policies.
    public static void InitializeService( DataServiceConfiguration config )
    {
        //config.SetEntitySetAccessRule( "Users", EntitySetRights.All );
        //config.SetEntitySetAccessRule( "Posts", EntitySetRights.All );
        //config.SetEntitySetAccessRule( "Albums", EntitySetRights.All );


        config.SetEntitySetAccessRule( "*", EntitySetRights.AllRead );
        config.SetServiceOperationAccessRule( "*", ServiceOperationRights.AllRead );
        //config.SetServiceOperationAccessRule( "GetPosts", ServiceOperationRights.AllRead );

        config.UseVerboseErrors = true;
        config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
    }

    [WebGet]
    public IQueryable<Post> GetPosts()
    {
        return CurrentDataSource.Posts.AsQueryable();
    }
}

La estructura de mi clase EntityFramework (db primero)

Métodos y miembros por clase de entidad. Aquí las entidades se deletrean en plural.

Este es mi Web.config:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <connectionStrings>
    <add name="Entity" connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider connection string=&quot;data source=XXX;Initial Catalog=XXX;persist security info=True;user id=XXX;password=XXX;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime requestValidationMode="4.5" targetFramework="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <pages controlRenderingCompatibilityVersion="4.5" />
    <machineKey compatibilityMode="Framework45" />
  </system.web>
<system.serviceModel>
    <services>
      <service name="LinkIT.Core.OData.ODataService"  behaviorConfiguration ="DebugEnabled">
      </service>
    </services>
    <behaviors>
      <serviceBehaviors >
        <behavior name="DebugEnabled">
          <serviceDebug includeExceptionDetailInFaults="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
  </system.serviceModel>
</configuration>

Un mensaje de error detallado:

El servidor encontró un error al procesar la solicitud. El mensaje de excepción es 'El valor no puede ser nulo. Nombre del parámetro: propertyResourceType '. Ver los registros del servidor para más detalles. El seguimiento de la pila de excepciones es:

en System.Data.Services.WebUtil.CheckArgumentNull [T] (valor de T, String parametersName) en System.Data.Services.Providers.ResourceProperty..ctor (String name, ResourcePropertyKind, ResourceType propertyResourceType) en System.Data.Services. Providers.ObjectContextServiceProvider.PopulateMemberMetadata (ResourceType resourceType, IProviderMetadata workpace, IDictionary2 knownTypes, PrimitiveResourceTypeMap primitiveResourceTypeMap) at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary2 tipos conocidos, IDictionary2 childTypes, IDictionary2 entitySets) en System.Data.Services.Providers.BaseServiceProvider.PopulateMetadata () en System.Data.Services.Providers.BaseServiceProvider.LoadMetadata () en System.Data.Services.DataService1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider& metadataProviderInstance, IDataServiceQueryProvider& queryProviderInstance, BaseServiceProvider& builtInProvider, Object& dataSourceInstance) at System.Data.Services.DataService1.CreateProvider () en System.Data.Services.DataService1.HandleRequest() at System.Data.Services.DataService1.ProcessRequestForMessage (Stream messageBody) en SyncInvokeProcessRequestForMessage (Object, Object [], Object []) en System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke (Object object, objeto [] entradas, Object [] y productos) en System.Service. Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc y RPC) a System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5 (MessageRpc y RPC) a System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41 (MessageRpc y RPC) a System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4 (MessageRpc y RPC ) en Sistema.ServicioModelo.Dispatcher.ImmutableDispatchRuntime.processMessage31 (MessageRpc y rpc) en System.ServiceModel ImmutableDispatchRuntime.ProcessMessage11 (MessageRpc & rpc) en System.ServiceModel.Dispatcher.Imm utableDispatchRuntime.ProcessMessage1 (MessageRpc & rpc) en System.ServiceModel.Dispatcher.MessageRpc.Process (boolean isOperationContextSet)

Respuestas a la pregunta(1)

Su respuesta a la pregunta