如何在将服务层传输到业务层时处理枚举?

时间:2012-07-17 14:23:04

标签: asp.net wcf entity-framework enums

我在服务层使用枚举。一切顺利,如果我设置enum的值反之亦然我不会设置它的值而不是它给我一个错误 错误:

The underlying connection was closed: The connection was closed unexpectedly.

我在DataContract类中使用了enum,它将在数据库操作时使用。 我使用WCF服务使用数据模型连接数据库。在一些方法中我使用枚举但在某些方法中我不是。 DataContract类:

[DataMember]
public Enums.SearchType SearchType { get; set; }

Enum声明:

 public enum SearchType
    {
      Search = 'S',

      Export = 'E',

      Undefined = 0
    }

那么在这种情况下该怎么做?如果有人对此有任何想法,请帮助我...

Thanx提前............

1 个答案:

答案 0 :(得分:1)

确保您的枚举类型具有默认值(0)

public SearchType
{
   Undefined = 0,
   ...
}

枚举是Int32(除非另有说明)。 default(Int32)为0. default(Enums.SearchType)也为0.如果枚举中未定义0,则数据协定反序列化将失败。