(一)添加数据:

        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. 串 & 容斥原理

    题意: 给出n (n<=50000) 个长度为4的字符串,问有且仅有d(1<=d<=4)处不相同的字符串有几对. SOL: 一直对着4发呆,这么小的字符串背后有什么玄学呢= =... ...

  2. Oracle 时间,日期 类型函数及参数详解

    ORACLE字符数字日期之间转化   Java代码   24 小时的形式显示出来要用 HH24       select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss' ...

  3. 将类似 12.56MB 36.89KB 转成 以K为单位的数字【备忘】

    select case RIGHT(RESOURCE_SIZE,2) when 'MB' THEN SUBSTRING_INDEX(RESOURCE_SIZE,'MB',1)*1024 ELSE SU ...

  4. 【BZOJ4260】 Codechef REBXOR 可持久化Trie

    看到异或就去想前缀和(⊙o⊙) 这个就是正反做一遍最大异或和更新答案 最大异或就是很经典的可持久化Trie,从高到低贪心 WA: val&(1<<(base-1))得到的并不直接是 ...

  5. BZOJ2322: [BeiJing2011]梦想封印

    Description 渐渐地,Magic Land上的人们对那座岛屿上的各种现象有了深入的了解. 为了分析一种奇特的称为梦想封印(Fantasy Seal)的特技,需要引入如下的概念: 每一位魔法的 ...

  6. MinGW

    MinGW是windows版本的GCC和有用的GNU工具的集合 http://www.cnblogs.com/itech/archive/2010/04/08/1705592.html

  7. Java中的try,catch,finally

    讲解的是关于java中关于try.catch.finally中一些问题 下面看一个例子(例1),来讲解java里面中try.catch.finally的处理流程 public class TryCat ...

  8. Hibernate前置和后置方法

    public class Test01 { private ServiceRegistry sr =null; private Session se =null; private Transactio ...

  9. MVC VS2012 Code First 数据库迁移教程

    1.在“服务资源管理器”连接数据库 2.打开工具-Nuget程序包管理器“程序包管理器控制台” 3.控制台输入命令:PM> Enable-Migrations -StartUpProjectNa ...

  10. HDU5831

    Rikka with Parenthesis II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...