使用Entity Framework创建oData Web Service时限制列

时间:2016-12-20 18:53:17

标签: entity-framework odata

我是oData Web服务的新手,我无法弄清楚如何在oData结果中删除某些不需要的列。我试图从模型中删除它们,这导致了一个错误(映射片段的问题)。

我们只是说我的表设置如下:

ID
Name
UpdateDate
CreateDate

我希望我的oData服务只返回ID和Name,但实体框架想要添加所有字段。

1 个答案:

答案 0 :(得分:1)

  • 使用NotMapped属性标记要忽略的属性:

    public class MyTable
    {
        public int ID { get; set; }
    
        public string Name { get; set; }
    
        [System.ComponentModel.DataAnnotations.Schema.NotMappedAttribute]
        public DateTime UpdateDate { get; set; }
    
        [System.ComponentModel.DataAnnotations.Schema.NotMappedAttribute]
        public DateTime CreateDate { get; set; }
    }
    
  • 或明确忽略属性:

    ODataConventionModelBuilder modelBuilder= new ODataConventionModelBuilder();
    
    modelBuilder.EntityType<MyTable>().Ignore(_ => _.CreateDate);
    
    modelBuilder.EntityType<MyTable>().Ignore(_ => _.UpdateDate);