命名规则:
1、数据库名、表名、字段名全部采用小写字母,以下划线分割
表设计原则:
1、各表必须设置主键(可以是组合主键),否则无法生成该表的代码
2、当表中有 create_time、update_time字段时,WEB后台会生成独特的功能,否则生成的WEB后台还需要稍微改一下(请习惯建立这两个字段)
3、当表中存在关系时,应该设置好表与表之间的关系键对应,因为这是NicPetshop最大的特点
例:当存在 dbo.news 表中 class_id -> dbo.news_class_id 表的 id 关系时,会得到以下扩展:
a、List 项目名.BLL.News.GetItemsByClass_id(...)
b、项目名.Mode.NewsInfo 下会多出一个属性 news_classInfo
c、WEB后台下 news 添加/修改时会生成一个 news_class 的下拉框
4、当表存在惟一键的时间,应该设置它,BLL 中会生成相应的业务方法
例:当存在 dbo.member 表中的惟一键 username 字段时,会得到以下扩展:
a、项目名.Model.MemberInfo 项目名.BLL.Member.GetItemByUsername(...)
5、如果是一个无限级表,请添加字段 parent_id -> 自身.id
例:有以下表时,会生成更丰富的代码
CREATE TABLE [dbo].[dir](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](64),
[parent_id] [int],
[remark] [nvarchar](256),
CONSTRAINT [PK_news_class] PRIMARY KEY NONCLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[dir] WITH NOCHECK ADD CONSTRAINT [FK_dir_dir] FOREIGN KEY([parent_id])
REFERENCES [dbo].[dir] ([id])
a、web后台的会生成模拟的树型下拉框
b、BLL 和 Model 层会按普通关系一样的特性
如果表没有主键,生成不了
如果表存在外键,没有建,生成了没什么用,不方便
如果表存在惟一键,没有建,也会少一点方便
如果是无限级关系,你没有键关系,那你错大了,本来生成器会帮你全部生成
更多原则等待添加中……