我有枚举类型:
public enum SomeType
{
Type1,
Type2,
Type3
}
我想自动将 Cassandra int 类型映射到 c# 枚举。我试图像这样定义它:
session.UserDefinedTypes.Define(
UdtMap.For<DefinedType>()
.Map(a => a.Type, "type"));
// where type of a.Type is SomeType
但是它会抛出"无效类型异常",并显示消息"类型类型 Int32 不可分配给 SomeType">
可以自动映射吗?我见过一些将表列映射到可枚举的示例,但从未见过任何 UDT
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;
}
}