如何在sqlite表中插入复杂模型

本文关键字:插入 复杂 模型 sqlite | 更新日期: 2023-09-27 18:11:48

首先,如果这个问题看起来不太专业,我应该道歉,但我不知道如何处理。

我实际上有一个Person类其中有另一个类Address Address类本身的属性类型是另一个类即Province和City

public class Province
{
    public string Name { get; set; }
}
public class City
{
    public string Name { get; set; }
}
public class Address
{
    public Province Province { get; set; }
    public City City { get; set; }
    public string Street { get; set; }
    public string PostalCode { get; set; }
}
public class Person
{
    public long Id { get; set; }
    public string Name { get; set; }
    public string Phone { get; set; }
    public Address { get; set; }
}

我应该说我曾经使用过Mongodb,正如你们许多人可能知道的那样,Mongodb可以插入,更新和删除文档本身。但现在我正在工作的公司正在移动到windows商店应用程序,似乎它不与Mongodb一起工作,所以我决定使用Sqlite,而不是,正如我之前说的,我真的不知道如何设计表,以便我可以读取和写入我的人对象到他们。

所以我非常需要你的帮助。请引导我走上正确的道路。任何帮助都是感激的。

如何在sqlite表中插入复杂模型

SQLLite与普通的SQL数据库非常相似,但在复杂功能上有所减少,您可以创建包含所有字段(即类属性)的person表,并将其插入表中,并在必要时选择相应的数据

这不是一个你可以来学习如何使用数据库的网站,因为它的范围太广了,任何人都无法涵盖。但简而言之,您实际上需要以与设计类相同的方式设置数据库表。

唯一的例外是,Person表没有Address对象,它将有一个AddressId列,该列与您需要添加到Address表的Id列相关。同样,Address表没有City对象,它有一个CityId列,该列与需要添加到City表的Id列相关。

因此,每个表都应该有自己唯一可识别的Id列,Id值在其他表中用作外键,如上所述。只有在代码中,我们才能将这个平面模型构建成一个分层模型。现在我真的应该投票结束这个问题,因为它离题了…请不要问我一大堆后续问题,让我后悔这个决定。我无法回答你所有的数据库查询。