小编Han*_*anu的帖子

Web APi OData V4问题"实体''没有定义密钥

当我运行以下示例时,它抛出以下异常......

附加信息:实体'TestEntity'没有定义密钥.

我使用代码第一个实体上下文配置了密钥... modelBuilder.Entity<TestEntity>().HasKey(t => t.EntityID);

有什么问题?为什么OData V4没有使用配置的密钥?

namespace WebApplication2
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

            config.MapODataServiceRoute("odata", "odata", model: GetEDMModel());

        }

        private static IEdmModel GetEDMModel()
        {
            ODataModelBuilder builder = new ODataConventionModelBuilder();
            builder.EntitySet<TestEntity>("TestEntities");             
            return builder.GetEdmModel();
        }
    }


    public class TestEntity
    {
        public int EntityID { get; set; }
        public string Name …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework odata asp.net-web-api odata-v4

6
推荐指数
2
解决办法
7144
查看次数

标签 统计

asp.net-web-api ×1

c# ×1

entity-framework ×1

odata ×1

odata-v4 ×1