| 
 | |||||||
| Расширение 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; } } | |||||||
| 
 Так же в этом разделе:
  
 | |||||||
|   | |||||||
| 
 | |||||||
| 
 |