【问题标题】:Customize feed for WCF Data Services using Entity Framework (Code First)使用实体框架自定义 WCF 数据服务的提要(代码优先)
【发布时间】:2010-07-02 12:56:14
【问题描述】:

谁能告诉我如何使用实体框架(代码优先/仅代码)为 Ado.Net 数据服务自定义 OData 提要?

没有 EDMX 文件(因为它只是代码)。

我已经尝试添加属性:

[EntityPropertyMapping( "Id" , SyndicationItemProperty.Title , SyndicationTextContentKind.Plaintext , true )]

到我的 POCO 实体类,但提要标题标签中没有显示任何内容?

更新:

如果我使用的是 EDMX 文件,我可以通过应用如下属性来自定义提要:

<EntityType Name="Customer">
  <Property Name="myAddress" Type="MyModelNamespace.Address"
        me:EpmSourcePath="Street"
        m2:FC_Atom="true"
        m2:FC_TargetPath="EpmSyndicationTitle"
        m2:FC_ContentKind="EpmPlaintext"
        m2:FC_KeepContent="true"/>
</EntityType>

但我没有使用 EDMX 文件 - 我使用的是纯代码。我的问题是关于在仅使用代码(无 XML 文件)时实现相同的目标。

谢谢!

【问题讨论】:

标签: c# wcf-data-services odata


【解决方案1】:

您是否为实体集设置了访问规则?

作为一个包罗万象的测试,你应该有类似的东西:

public class NorthwindService : DataService<NorthwindEntities>
{
   public static void InitializeService(IDataServiceConfiguration config)
   {
      config.SetEntitySetAccessRule("*", EntitySetRights.All);
    }
}

【讨论】:

  • 感谢杜比的回复。我确实有访问规则工作正常。这与丢失数据无关 - 一切都会被退回。它只是将一些数据复制/移动到 OData 提要的 部分(在使用反射提供程序或带有 EDMX 文件的实体框架时非常容易)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多