枚举、Entity Framework 和 WCF 数据服务

  • Roopesh Shenoy
  • 侯伯薇

2012 年 9 月 13 日

话题:语言 & 开发

Entity Framework 5 开始支持枚举,但是 WCF 数据服务中还不支持,这意味着你在编写 OData 服务的时候需要显式地对其进行处理。

EF 5 最近刚刚发布,它包含了一种期待已久的特性——对枚举的支持。然而,WCF 数据服务 5.0 还不支持枚举。由于 WCF 数据服务使用与 Entity Framework 相同的实体数据模型,如果你在 WCF 数据服务中使用包含了枚举的 EF 模型,那么就会导致神奇的错误

这是一种突破性的改变,在 EF 模型中有枚举的模型之前会被忽略,而不会出现错误。

据 WCF 数据服务团队所说,对属性(property)使用 NotMapped 特性(attribute)可能会解决问题。然而,NotMapped 特性让属性无法与底层的数据列映射,这意味着我们可能要在 Entity Framework 中停止使用新添加的对枚举的支持。现在,在 WCF 数据服务的用户论坛上,对枚举的支持是呼声最高的特性

WCF 数据服务支持使用 REST 的语义来创建和使用OData Web 服务。

查看英文原文:Enums, Entity Framework And WCF Data Services
语言 & 开发