一个新的开发模式基于 c# + MSSQL 为什么使用 NicPetShop ? 在使用多层开发是否存在 inner join 查询的痛苦? 在使用 orM 开发是否觉得系统很臃肿调用方法也不尽人意(简单)? 您是否经常为了分页而不断从旧的代码中 COPY 几十行代码也保证不了分页的易用通用? 您的开发模式使用起来简单吗? NicPetShop 可以解决 采用多层开发架构 采用 c# 强类型与数据库表映射并且引入 的 SystemNullable<T> 支持可空类型 能将数据库的关系映射到 c#让您使用更方便让你不再为 inner join 查询烦恼 类似 <%# Eval(userGroupInfoGroupName) %> 这样的绑定方式List<UserInfo> UserGetItemsByUser_group_id(int user_group_id) 这样的快速方法生成 高效绑定分页支持 repeaterdatalistgridview并且支持设计时(傻瓜式)分页也可将分页写入代码中行以内代码就可以为你制造高性能的多种分页方案 dataListPagerDataSouce = UserGetItemsByUser_group_id(user_group_id dataListPagerPager)dataListPagerDataBind() 语法简洁功能强大 A添加数据后即刻返回当前插入的对象(对应数据库表中新插入的行) UserInfo user = UserInsert(null nic ******)//UserInfo user = new UserInfo()//userUserName = nic//userPassWord = ******//user = UserInsert(user) B按数据库建立的关系直接访问到主表对象UserInfo user = UserGetItem()User_groupInfo user_group = useruser_groupInfo C在页面上绑定项时很轻易的在关系间访问特别对于无限级类别表的使用(parent_id > selfid 关系) <ItemTemplate> <%# Eval(Id) %> <%# Eval(UserName) %> <%# Eval(user_groupInfoGroupName) %> </ItemTemplate> D很轻易的得到对应 ID 的所有或自定义获取多少条集合List<UserInfo> users = UserGetItemsByUser_group_id(user_group_id) //所有List<UserInfo> users = UserGetItemsByUser_group_id( user_group_id) //前 条 List<UserInfo> users = UserGetItemsByUser_group_id(new Limit( ) user_group_id) //第 到 条 E按主键或惟一索引生成相应的方法int rows = UserDelete(id)int rows = UserDeleteByUserName(userName) UserInfo user = UserGetItem(id)UserInfo user = UserGetItemByUserName(userName) F很轻易的得到所有或自定义获取多少条集合List<UserInfo> users = UserGetItems() //所有List<UserInfo> users = UserGetItems() //前 条List<UserInfo> users = UserGetItems(new Limit( )) //第 到 条 HConnectionManager 安全管理 SqlConnection对多线程安全使用SqlConnection conn = ConnectionManagerGetConnection() I自动生成 RepeaterPagercsDataListPagercsGridViewPagercs它们分别继承于 SystemWebUIWebControlRepeaterSystemWebUIWebControlDataListSystemWebUIWebControlGridView支持设计时 J将自己的 web 开发经验常用开发代码集中到生成的解决方案中nfigwebsitemap 的配置App_Code\BasePagecs 的建立自动添加 TitlemetakeywordsmetacontentsiteMapPath操作connectionaspx 查看当前 web 程序使用的 sqlconnection 情况 将永久免费给大家使用 |