Вложенное свойство 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

Я знаю, что мог бы использовать наследование вместо вложенного свойства, но я просто хочу проверить, возможно ли реализовать правильное отображение в моем случае.

У вас есть идеи, как я могу отобразить это?

0 ответов

Другие вопросы по тегам