在咱们的SS项目中,建议的文件结构以下:数据库
须要的最基本的文件包含三个文件,函数
1 服务文件:其中包含有入口类、出口类定义和服务类的定义,入口类是HTTP 请求request时候使用的类,出口类是HTTP 相应中使用的类,服务类中会调用入口类和出口类,关于入口类出口类和服务类的说明见下文。post
2 实体类文件:定义数据库相关的实体类,在SS中,实体类既可用做入口类,也可做为出口类。3d
3 数据访问类文件: 定义数据库操做的功能函数,这些功能函数会使用实体类文件中的类定义来映射数据库表,实体类文件中的类文件通常为DTO类,同时被服务文件和数据访问文件使用。blog
服务类文件能够根据须要分解为多个,好比一个资讯管理系统包含有类别管理 文章管理 新闻管理 下载管理 专题管理 , 就能够将这几个功能模块分别对应一个服务文件,接口
示例以下:ci
CategoryService.cs | ArticleService.cs | NewsService.cs | DownloadService.cs | SpecialService.cs |
入口类、出口类和实体类在对外服务中的用处。get
入口类是数据传入的接口类,出口类是数据输出的接口类,实体类既能够做为入口类也能够做为出口类。io
通常的应用状况是:table
添加和修改数据时 | 入口类为实体类,封装传入的表单数据; |
出口类为简单类(POCO型),做为操做状态的返回信息,如是否操做成功 | |
列表、显示一条信息时 | 入口类为简单类(POCO型),一般对于的是URL参数或这post的查询条件等 |
出口类为实体类,用于传递数据到到页面,可附加虚拟字段,添加获得的记录条数、以及总计统计数值等 | |
在删除操做中 | 入口类通常不用实体类,而是传入一个或一组ID来实现删除操做,也能够传入实体类来完成操做 |
出口类一般为状态信息,如操做是否成功,也可无任何返回信息 |
PS : 项目比较复杂时 , 文件拆分的建议