Мои DTO довольно простые классы.
public class PlainClass {
public int Id { get; set; }
public string Name { get; set; }
public List<PlainSubClass> SubObjects { get; set; }
}
public class PlainSubClass {
public int Id { get; set; }
public string Name { get; set; }
}
У меня есть интерфейс репозитория, реализации которого предназначены для извлечения данных.
public interface IRepository
{
IEnumerable<PlainClass> PlainObjects { get; }
}
Теперь я хочу реализовать этот интерфейс в другом классе, который будет издеваться над базой данных, а также с использованием EF SQLite, и, возможно, в будущем. Мой пример прост, но, пытаясь реализовать и затем сгенерировать базу данных, я получаю сообщение об ошибке, в котором говорится, что мне нужно указать первичный ключ.
Теперь, как мне это сделать? Должен ли я создавать интерфейсы для своих моделей и добавлять аннотации, специфичные для каждой реализации? Должен ли я - если это вообще возможно - добавить несколько наборов аннотаций к моделям?