Вложенное свойство Cassandra Mapping с использованием C#
Я использую базу данных Apache Cassandra и хочу сопоставить свои данные из таблицы "person" Cassandra с несколькими столбцами (id, name, фамилия...) с моей моделью в приложении.NET.
public class PersonalData
{
public string Name { get; set; }
public string Surname { get; set; }
public string Address { get; set; }
public string PhoneNumber { get; set; }
}
public class Person
{
public Guid Id { get; set; }
public PersonalData PersonalData { get; set; }
}
using Cassandra.Mapping;
public class PersonMapper : Mappings
{
public PersonMapper()
{
For<Model.Person>()
.TableName("person")
.PartitionKey(x => x.Id)
.Column(x => x.Id, cm => cm.WithName("id"))
.Column(x => x.PersonalData.Name, cm => cm.WithName("name"));
}
}
Как видите, я также хочу отобразить вложенные свойства (например, PersonalData.Name). Тогда я получаю ошибку:
Выражение x => x.PersonalData.Name ссылается на свойство или поле, которое не относится к типу MyProject.Model.Person
Я знаю, что мог бы использовать наследование вместо вложенного свойства, но я просто хочу проверить, возможно ли реализовать правильное отображение в моем случае.
У вас есть идеи, как я могу отобразить это?