有没有更好的方法来编写 UDTMaps 与使用 Cassandra 数据库和 C# 驱动程序的表相同
假设 Cassandra 数据库中有一个名为 Users(Id, name text, Address freeze ) 的表。现在将其映射到 C# 的表中,我可以编写如下
public class AppMappings : Mappings
{
public AppMappings()
{
For<User>()
.TableName("Users")
.Column(u => u.Id, cm => cm.WithName("userId"))
.Column(u => u.Name, cm => cm.WithName("username"))
.Column(u => u.AddressDetails , cm => cm.WithName("address"))
.PartitionKey(u=> u.Id);
}
}
public class User
{
public Guid Id {get;set;}
public string Name {get;set;}
public Address AddressDetails {get;set;}
}
public class Address {
public string State {get;set;}
public string City {get;set;}
}
现在我可以使用 Single Class AppMappings 应用任何配置,它可以有许多与表的映射。有了这一行,我可以初始化所有映射
MappingConfiguration.Global.Define<AppMappings>();
但是要应用 UDT 我需要手动添加以下行。
session.UserDefinedTypes.Define(UdtMap.For<Address>("address_udt"));
假设我有 10/20 个 UDT,那么我需要为每个 UDT 添加这一行。相反,有什么方法可以在一个地方添加 UDT 映射,比如映射?还是添加 UDT 映射的更好方法?