|
|||||||
Расширение SQLite-Net как один к одному, так и один ко многим отношения между двумя сущностями
Время создания: 30.08.2020 12:09
Текстовые метки: SQLite, расширения SQLite, связи таблиц SQLIte
Раздел: Компьютер - C# - SQLite
Запись: Kozlov-AE/Tetra/master/base/15987785673ey77l4bsf/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Вы должны явно объявить внешние ключи и обратные свойства в атрибуте отношения, потому что в противном случае библиотека может получить неправильный внешний ключ для отношения. public class ClassA { [PrimaryKey, AutoIncrement] public int Id { get; set; } [OneToMany("O2MClassAKey", "BObjectsInverse")] public List<ClassB> BObjects { get; set; } [OneToOne("O2OClassAKey", "BObjectInverse")] public ClassB BObject { get; set; } // Other properties public string Bar { get; set; } } public class ClassB { [PrimaryKey, AutoIncrement] public int Id { get; set; } [ForeignKey(typeof (ClassA))] public int O2MClassAKey { get; set; } [ForeignKey(typeof (ClassA))] public int O2OClassAKey { get; set; } // Inverse relationships, these are optional [ManyToOne("O2MClassAKey", "BObjects")] public ClassA BObjectsInverse { get; set; } [OneToOne("O2OClassAKey", "BObject")] public ClassA BObjectInverse { get; set; } // Other properties public string Foo { get; set; } } Обратите внимание, что внешний ключ O2OClassAKey для OneToOne Отношения могут быть объявлены в любом из классов. Если вам не нужны обратные свойства, вы можете пропустить их в атрибуте отношений: public class ClassA { [PrimaryKey, AutoIncrement] public int Id { get; set; } [OneToMany("O2MClassAKey")] public List<ClassB> BObjects { get; set; } [OneToOne("O2OClassAKey")] public ClassB BObject { get; set; } // Other properties public string Bar { get; set; } } public class ClassB { [PrimaryKey, AutoIncrement] public int Id { get; set; } [ForeignKey(typeof (ClassA))] public int O2MClassAKey { get; set; } [ForeignKey(typeof (ClassA))] public int O2OClassAKey { get; set; } // Other properties public string Foo { get; set; } } |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|