(一)添加数据:

        public void AddUser(User user)
{
ISession session = NhibernateFactory.GetInstance().GetSession();
session.Save(user);
session.Flush();
}

执行,报错“当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值

把 User.hbm.xml文件中:

《generator》节点class 改为 "native":

<hibernate-mapping xmlns ="urn:nhibernate-mapping-2.2"
assembly="UserInformation.Domin"
namespace="UserInformation.Domin.Entities">
<class name="UserInformation.Domin.Entities.User,UserInformation.Domin"
table="UserInformation" >
<id name="Id"
type="Int32"
unsaved-value="null">
<generator class="native"></generator>
</id>
<property name="Name"></property>
<property name="PassWord"></property>
<property name="UserType"></property>
</class> </hibernate-mapping>

(二)修改数据:

        /// <summary>
/// 修改:
/// </summary>
/// <param name="id"></param>
public void ModifyUser(int id)
{
ISession session = NhibernateFactory.GetInstance().GetSession();
if (AllUser == null)
{
AllUser = GetUserList();
}
var result = AllUser.FirstOrDefault(x => x.Id == id);
session.Update(result);
} public void ModifyUser(User user)
{
ISession session = NhibernateFactory.GetInstance().GetSession();
session.Update(user);
session.Flush();
}

测试修改:

        [TestMethod]
public void ModifyUserTest()
{
UserData userData = new UserData();
var result = userData.GetUserList();
var updatedUser = result.FirstOrDefault(x => x.Id == );
updatedUser.Name = "改过以后的名称";
userData.ModifyUser(updatedUser);
}

(三) 删除:

 public void DeleteUser(int id)
{
ISession session = NhibernateFactory.GetInstance().GetSession();
if (AllUser == null)
{
AllUser = GetUserList();
}
var result = AllUser.FirstOrDefault(x => x.Id == id);
session.Delete(result);
session.Flush();
} public void DeleteUser(User user)
{
ISession session = NhibernateFactory.GetInstance().GetSession();
session.Delete(user);
session.Flush();
}

删除测试:

   [TestMethod]
public void DeleteUserTest()
{
UserData userData = new UserData();
var result = userData.GetUserList();
var updatedUser = result.FirstOrDefault(x => x.Id == );
userData.DeleteUser(updatedUser);
}

执行可运行

Nhiberate (三)测试的更多相关文章

  1. android 学习随笔三(测试与单元测试框架)

    测试 1.按岗位: 黑盒测试:测试业务逻辑 白盒测试:测试逻辑方法 2.按测试粒度 方法测试 function 单元测试 unit 集成测试 integration 系统测试 system 3.按暴力 ...

  2. 四则运算小程序测试--c++--软件工程课

    一.测试内容: 1.生成题目数是否准确?2.打印方式(列数l.行间距jj)是否准确?3.有无乘除法cc是否准确?4.数的范围fw是否准确?5.除法有无余数c是否准确?6.加减有无负数f是否准确? 二. ...

  3. Lucene.Net 2.3.1开发介绍 —— 三、索引(四)

    原文:Lucene.Net 2.3.1开发介绍 -- 三.索引(四) 4.索引对搜索排序的影响 搜索的时候,同一个搜索关键字和同一份索引,决定了一个结果,不但决定了结果的集合,也确定了结果的顺序.那个 ...

  4. python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)

    ---恢复内容开始--- 一.python单元测试实例介绍 unittest框架又叫PyUnit框架,是python的单元测试框架. 先介绍一个普通的单元测试(不用unittest框架)的实例: 首先 ...

  5. 【原创】Linux基础之测试域名IP端口连通性

    一 测试域名是否可达 1 ping # ping www.baidu.comPING www.a.shifen.com (220.181.112.244) 56(84) bytes of data.6 ...

  6. Linux压力测试软件Stress安装及使用

    一.安装 yum install -y epel-release yum install stress -y 二.参数说明 -? --help 显示帮助信息 --version 显示软件版本信息 -t ...

  7. App测试基本流程详解(汇总整理)

    前言 看过许多大神对APP测试的理解,博主总结了一下我们平时测试APP应该注意的一些测试点并结合大神的理解,总结出这篇文章. 一.测试周期 测试周期一般为两周,根据项目情况以及版本质量可适当缩短或延长 ...

  8. 20172301 《Java软件结构与数据结构》实验三报告

    20172301 <Java软件结构与数据结构>实验三报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 郭恺 学号:20172301 实验教师:王志强老师 ...

  9. 基于Linux的Samba开源共享解决方案测试(一)

    转自http://blog.csdn.net/u013394982/article/details/17914429 Linux操作系统 Linux是一类Unix计算机操作系统的统称.Linux操作系 ...

随机推荐

  1. 洛谷 P1033 自由落体 Label:模拟&&非学习区警告

    题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公式为 d=1/2*g* ...

  2. HDU - The number of divisors(约数) about Humble Numbers

    Description A number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence ...

  3. Shell脚本中执行mysql的几种方式(转)

    Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用 ...

  4. jquery插件之拖拽

    该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的拖拽效果,您可以根据自己的实际需求来设置被拖拽元素是否可 ...

  5. 二分查找算法(JAVA)

    1.二分查找又称折半查找,它是一种效率较高的查找方法. 2.二分查找要求:(1)必须采用顺序存储结构 (2).必须按关键字大小有序排列 3.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位 ...

  6. Android 图片轮播(最简单的)

    布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android ...

  7. Linux下安装PHP

    从php官网下载好需要php的压缩包,我下的是5.5.37版, 解压:# tar -xvf php-5.5.37.tar.gz 移至解压出的文件夹:# cd php-5.5.37 检查安装环境:# . ...

  8. 全选,不选,反选 jquery

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. HDU1222,HDU1032 水题

    Wolf and Rabbit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  10. Daily Scrum 10.25

    今天我们在分析数据库的时候发现还有一些这方面知识上的不足,花费一些额外的时间做功课.这说明当时我们的plan没有做好,但是我们基本还处在进度上. 下面是今天的Task统计: