说我在SQLite数据库上有两个表,人和学生。
人员具有Id和Name列。学生有Id和PersonId列。 PersonId显然链接到Person表中的ID列。
因此,在我的应用程序中,我为每个表分别有一个类,[
public class Student
{
Int Id { get; set; };
Int PersonId { get; set; };
Person person { get; set; };
}
然后我有了我的SQLite连接,以便从数据库中获取数据:
SQLiteConnection con = new SQLiteConnection(DBLocation); var students = con.Table<Student>().ToList();
这将同时填充每个对象的“ Int Id”和“ Int PersonId”属性,而不是“ Person person”属性。[我的问题是,有没有一种方法可以同时分配此属性(Person人)其各自的值(其Id == Student.PersonId的Person对象)?或这样做的最佳做法是什么?
谢谢
public class Student
{
Int Id { get; set; };
Int PersonId { get; set; };
Person person { get; set; };
}
人员分类:
public class Person { Int Id { get; set; }; Student Student { get; set; }; }
然后使用它:
var person = new Person { Id = 1, Student = new Student { Id = 1 } } dbContext.Persons.Add(person); dbContext.SaveChanges();
使用代码之前,需要做一些配置,例如创建代表内存中数据库的DbContext子类,您可以在此处学习EF Core:https://docs.microsoft.com/en-us/ef/core/get-started/?tabs=netcore-cli