例如,我有这些实体
Client : table
TransactionA : table
TransactionB : table
..
TransactionZ : table
TransactionA 至 TransactionZ 表格被引用至客户
在数据库结构中,我一直在考虑为每个注册的新客户创建新的表 TransactionA ,并且具有 Client.Code 的模式,所以它看起来像 clientA.tbl_TransactionA
有了这个结构,我认为我的数据库会生成数千个表,具体取决于有多少客户端会注册,如果核心有修改,我认为它很难维护。
我想就此问题,优势和劣势的最佳方法征求您的意见。
PS: 我正在使用Entity Framework(代码优先), MSSQL
提前致谢。
答案 0 :(得分:1)
在每个客户端创建一个表在许多层面都不是一个好主意。要选择一个更明显的,使用Entity Framework,每次要添加客户端时都必须更改和重新编译代码。您可能不得不使用反思或找出在寻求交易时要引用的客户DbSet
。
不清楚是什么驱使你进行这种设计考虑,但似乎很明显,更合理的模型是拥有一个具有Client表的外键/导航属性的Transactions表。我认为这有一些好但没有说明理由,为什么这还不够。