我正在创建的应用程序将保存多个页面,这些页面将根据用户输入保存不同的值。例如,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; }
}
从研究开始,不可能使用具有不同表名的相同类,因为类名用于表名,您永远不会知道我可能错了。这是一个很好的方法,还是在数据库增长时我会遇到问题。
答案 0 :(得分:1)
如果每本书具有相同的表格结构,那么您应该将它们全部放在一个Book表中。