【问题标题】:WCF Data Services Metadata Provider and DataServiceKeyWCF 数据服务元数据提供程序和 DataServiceKey
【发布时间】:2011-05-18 11:28:05
【问题描述】:

如果我无法使用 DataServicesKeyAttribute 注释我的类以使 WCF 数据服务将我的属性 Id 识别为键(因为默认情况下它仅识别 IDClassNameID),还有其他选项吗除了写我自己的 IDataServicesMetadataProvider 吗?

考虑到在 EDMX 模型中创建实体时 PK 的默认大写方案是 Id,而不是 ID....微软的命名约定准则进一步建议使用 @987654326 @ 不是ID 的大小写。好蠢……

【问题讨论】:

    标签: .net wcf entity-framework-4 wcf-data-services


    【解决方案1】:

    如果您确实无法添加 DataServiceKeyAttribute,那么可以,唯一的方法是实现您自己的提供程序。请注意,如果您在 WCF 数据服务下有一个 EF 提供程序,那么关键属性将来自 EF 本身,而不是来自类的属性。因此,这可能意味着您正在尝试做 EF 以外的其他事情。如果是这种情况,请发布更详细的描述,也许还有其他方法。

    【讨论】:

    • 我正在使用带有 POCO 的自定义 IQueryable 提供程序,这些提供程序在单独的通用程序集中定义,我无法添加对 System.Data.Services.Client 的依赖项。
    • 如果是这种情况,我建议完全使用自定义提供程序路线。是的,您必须自己“反映”类,但是拥有构造元数据的能力通常对 IQueryable 实现有很大帮助(因为您可以控制类型等)。我认为从长远来看,这是一种更好(更可扩展)的方法。既然你已经成功了一半……
    猜你喜欢
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多