WCF 数据服务元数据提供程序和 DataServiceKey
如果我无法使用 DataServicesKeyAttribute 注释我的类以使 WCF 数据服务将我的属性 Id
识别为键(因为它仅识别 ID
或 ClassNameID< /code> 默认情况下),除了编写我自己的 IDataServicesMetadataProvider 之外还有其他选择吗?
对于微软来说这是相当愚蠢的,考虑到当您在 EDMX 模型中创建实体时 PK 的默认大写方案是 Id
,而不是 ID
....以及进一步的 Microsoft命名约定指南建议在大小写方面使用 Id
而不是 ID
。非常愚蠢...
If I'm unable to annotate my classes with the DataServicesKeyAttribute to make WCF Data Services recognize my property Id
as a key (since it only recognizes ID
or ClassNameID
by default), is there any other option besides writing my own IDataServicesMetadataProvider?
It's pretty stupid on Microsoft's part, considering the default capitalization scheme for the PK when you create an entity in an EDMX model is Id
, not ID
....and FURTHER Microsoft's naming convention guidelines suggest using Id
not ID
in terms of capitalization. Very stupid...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您确实无法添加 DataServiceKeyAttribute,那么是的,唯一的方法就是实现您自己的提供程序。请注意,如果您的 WCF 数据服务下有 EF 提供程序,则关键属性将从 EF 本身获取,而不是从类的属性中获取。所以这可能意味着您正在尝试做 EF 以外的事情。如果是这样的话,请发布更详细的描述,也许还有其他方法。
If you really can't add the DataServiceKeyAttribute, then yes, the only way is to implement your own provider. Note that if you have an EF provider underneath your WCF Data Service then the key properties will be taken from the EF itself, not from the attributes on the classes. So this probably means that you're trying to do something else than EF. If that's the case, please post more detailed description, maybe there is another way.