Есть ли лучший способ написания UDTMaps, такой же, как таблицы, использующие базу данных Cassandra с C# драйвером
Предположим, что в базе данных Cassandra есть таблица с именем Users (Id, имя, замороженный адрес). , Теперь, чтобы сопоставить это с 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;}
}
Теперь я могу применять любые конфигурации с однокомпонентными приложениями, у них может быть много отображений с таблицами. С помощью этой единственной строки я могу инициализировать все сопоставления
MappingConfiguration.Global.Define<AppMappings>();
, но для того, чтобы применить UDT, мне нужно добавить строку ниже.
session.UserDefinedTypes.Define(UdtMap.For<Address>("address_udt"));
Предположим, у меня есть 10/20 UDT, затем я нужно добавить эту строку для каждого UDT. вместо этого есть ли способ добавить UDT Mappings в одном месте, как Mappings? или лучший подход для добавления UDT Mappings?