数据库结构具有相同的表结构和不同的表名

时间:2017-01-12 15:37:58

标签: c# database sqlite xamarin

我正在创建的应用程序将保存多个页面,这些页面将根据用户输入保存不同的值。例如,1本书将有10个页面,表名将是Book1_p1,Book1_p2,Book1_p3,Book1_p4等。这个数据库的结构将是相同的只是不同的表名,这个好的做法还是要有一个表叫做页面,我的唯一值得关注的是,随着时间的推移,这会聚集很多行。请参阅下面的结构示例。

    id | Page ID     | Field Id | Value
    ------------------------------------
     1 | 1           | 5        | hello
     2 | 1           | 3        | some info 
     3 | 1           | 2        | fdf
     4 | 1           | 1
     5 | 1           | 3
     6 | 1           | 2
     7 | 1           | 1
     8 | 1           | 3
     9 | 1           | 2
    10 | 1           | 1
    11 | 1           | 2
    12 | 1           | 1 

我在Xamarin中使用SQLite。我之前使用过这个,并使用database.CreateTable<BookTable>();

创建了一个表

BookTable类

 public class BookTable
    {
        public BookTable()
        {

        }

        [PrimaryKey, AutoIncrement]
        public int ID { get; set; }
        public int PageId { get; set; }
        public int FieldId { get; set; }
        public string Value { get; set; }

    } 

从研究开始,不可能使用具有不同表名的相同类,因为类名用于表名,您永远不会知道我可能错了。这是一个很好的方法,还是在数据库增长时我会遇到问题。

1 个答案:

答案 0 :(得分:1)

如果每本书具有相同的表格结构,那么您应该将它们全部放在一个Book表中。