VS2008-Codesmith-Nhibernate使用(二)
来源:互联网 发布:3000多的笔记本知乎 编辑:程序博客网 时间:2024/05/20 21:22
说明:利用Codesmith自带C#模板生成的代码不用修改可以直接使用,但用VB.net模板生成的代码有问题,需要修改,而且问题多多,我正在研究,
如果大家知道如何正确使用VB.net模板,请发邮箱jason-819@hotmail.com
今天主要讲解CRUD
一、添加操作
using CNhiber.BusinessObjects;using CNhiber.ManagerObjects; protected void AddUserInfo() { IManagerFactory managerFactory = new ManagerFactory(); IUserInfoManager userinfoManager = managerFactory.GetUserInfoManager(); UserInfo user = new UserInfo(); user.UserName = "小王"; user.Age = 12; user.Address = "上海"; userinfoManager.Save(user); }
这样就添加了一条记录到数据里面
二、查询操作
根据主键查询1 条记录
private void QueryUserInfo() { IManagerFactory managerFactory = new ManagerFactory(); IUserInfoManager userinfoManager = managerFactory.GetUserInfoManager(); UserInfo userinfo = userinfoManager.GetById(2); this.Label1.Text = userinfo.UserName; }
查询返回所有记录
private void QueryGetAll() { IManagerFactory managerFactory = new ManagerFactory(); IUserInfoManager userinfoManager = managerFactory.GetUserInfoManager(); this.GridView1.DataSource = userinfoManager.GetAll(); this.GridView1.DataBind(); }
按条件查询
private void QueryCriterion() { IManagerFactory managerFactory = new ManagerFactory(); IUserInfoManager userinfoManager = managerFactory.GetUserInfoManager(); IList<UserInfo> userlist = userinfoManager.CreateCriteria() .Add(NHibernate.Criterion.Restrictions.Like("UserName", "%宝%")) .AddOrder(new NHibernate.Criterion.Order("UserName", false)) //参数默认是升序,false代表非升序就是降序 .List<UserInfo>(); this.GridView1.DataSource = userlist; this.GridView1.DataBind(); }
当然你可以把操作实例作为全全局变量
IManagerFactory managerFactory = new ManagerFactory();IUserInfoManager userinfoManager = managerFactory.GetUserInfoManager();
三、修改操作
private void UpdateUserInfo() { IManagerFactory managerFactory = new ManagerFactory(); IUserInfoManager userinfoManager = managerFactory.GetUserInfoManager(); UserInfo userinfo = userinfoManager.GetById(2); userinfo.UserName = "修改用户名"; userinfoManager.Session.CommitChanges(); }
四、删除操作
private void DelUserInfo() { IManagerFactory managerFactory = new ManagerFactory(); IUserInfoManager userinfoManager = managerFactory.GetUserInfoManager(); UserInfo userinfo = userinfoManager.GetById(2); userinfoManager.Delete(userinfo); }
注。查询操作方法比较多,我只列出了其中的几种,还有HQL,原生SQL查询,我将在下篇介绍。
- VS2008-Codesmith-Nhibernate使用(二)
- VS2008-Codesmith-Nhibernate使用(一)
- ORM利器:NHibernate(二)使用CodeSmith快速生成映射文件和映射类
- codesmith 自动生成nhibernate
- NHibernate使用入门(二)
- Nhibernate使用示例<二>
- CodeSmith的NHibernate模板(一)
- 一个CodeSmith+NHibernate的例子
- CodeSmith使用基础教程 二 — 语法、标签
- CodeSmith使用基础教程 二 — 语法、标签
- CodeSmith使用基础教程 二 — 语法、标签
- 代码生成器 CodeSmith 的使用(二)
- CodeSmith使用
- CodeSmith使用
- ASP.NET MVC中使用Nhibernate(二)
- CodeSmith基础(二)
- CodeSmith基础(二)
- CodeSmith应用(二)
- 讨论 云笔记 VS 传统blog
- JSP页面href跳转情况
- linux常用命令和软件搜集-每天添加
- CSS清除浮动 万能float闭合
- ViewBag、ViewData 和 TempData 的区别 及 Dynamically Typed Object 动态类型介绍
- VS2008-Codesmith-Nhibernate使用(二)
- 看了张老师的视频--------两个有趣的面向对象题目
- Visual Studio 2010中的内置图表控件
- java int与byte[]数组的相互转换 补码
- sql server存储过程
- 【VS插件开发】在Visual Studio中打开文件,并定位到代码行
- FusionCharts参数的详细说明
- android轻量框架二__Activity生命周期
- Ubuntu 上获取硬件信息的几件方式