Как я могу вставить / обновить список <T>как элемент сущности в SQLite? - PullRequest
0 голосов
/ 13 декабря 2018

Допустим, у меня есть действительно простой класс:

public class myClass{
    public int Id {get;set;}
    public object SomeProperty {get;set;}
    public List<string> ListOfStrings {get;set;}
}

всякий раз, когда я пытаюсь извлечь myClass сущность из базы данных, ListOfStrings будет пустым, даже если я точно отладил в CRU D процесс, чтобы удостовериться, что ListOfStrings правильно заполнен, прежде чем Insert() или Update() метод вызывается для объекта

1 Ответ

0 голосов
/ 15 декабря 2018

Объект, который вы сохраняете в коллекции, должен иметь свойство ID, и вы должны связать эти два объекта с помощью внешних ключей.Если вы используете Entity Framework, вы можете определить свои классы следующим образом:

public class SomeEntity
{
    public int SomeEntityID {get;set;}
    public string Message {get;set;}
    public MyClassID {get;set;}
}

public class MyClass
{
    public int MyClassID {get;set;}
    public object SomeProperty {get;set;}
    public List<SomeEntity> ListOfSomeEntity {get;set;}
} 

Затем вы можете получить свою сущность следующим образом:

var myClass = context.MyClass.Include(c=>c.ListOfSomeEntity)
              .Single(c=>c.MyClassID == 1);
...