gpt4 book ai didi

c# - 在 WCF 数据服务中使用枚举

转载 作者:可可西里 更新时间:2023-11-01 02:59:01 25 4
gpt4 key购买 nike

我正在尝试使用 POCO 数据模型手动构建 WCF 数据服务,但我不知道如何正确公开 enum 值。假设一个简单的模型如下:

public class Order
{
public int ID {get; set;}
public string Description {get; set;}
public OrderStatus Status {get; set;}
}

public enum OrderStatus
{
New,
InProcess,
Complete
}

如何通过 OData WCF 数据服务公开 OrderStatus 属性中的有值(value)信息?

如果您什么都不做,数据服务会生成运行时错误(枚举是无效属性)。我看到的至少解决错误的唯一答案是将 enum 属性标记为已忽略,例如:

[System.Data.Services.IgnoreProperties("Status")]
public class Order ...

这可行,但它迫使您从服务层“省略”有值(value)的信息。在 WCF 数据服务中是否有其他选项可用于处理枚举值?

编辑:请注意这是WCF 数据服务(又名Astoria)。这不是原始 WCF 服务,在这种情况下答案会更清楚。

最佳答案

WCF 数据服务目前不支持枚举(OData 协议(protocol)也不支持它们)。典型的解决方法是使用字符串和常量值,或者整数和常量值。

关于c# - 在 WCF 数据服务中使用枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3570249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com