我有枚举类型:
public enum SomeType
{
Type1,
Type2,
Type3
}
我希望自动将Cassandra int类型映射到c#enum。我试图将其定义为:
session.UserDefinedTypes.Define(
UdtMap.For<DefinedType>()
.Map(a => a.Type, "type"));
// where type of a.Type is SomeType
然而它会抛出&#34; InvalidTypeException&#34;与消息&#34;类型类型Int32不能分配给SomeType&#34;
是否可以自动映射?我已经看到了一些表列映射到可枚举的示例,但从未见过任何UDT
答案 0 :(得分:1)
Cassandra尚未支持udt中的枚举类型,
或者,您可以按如下方式解决问题
public enum SomeType
{
Type1=0,
Type2=1,
Type3=2
}
public SomeType SomeTypeProperty;
public int SomeTypePropertyMapForCassandra
{
get
{
return SomeTypePropertyMapForCassandra;
}
set
{
this.SomeTypeProperty= (SomeType)value;
}
}