(一)添加数据:

        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. ACM 另一种阶乘问题

    另一种阶乘问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来 ...

  2. 【Oracle】同义词问题

    优点: 1.节省数据库空间,多用户可以操作同一张表: 2.扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互: 3.利用Database Link.创建同义词可以实现不同数据库服务器之间的 ...

  3. jQuery的Dom插入操作图示

  4. 配置hooks使svn提交后自动同步客户端代码(客户端与服务端在同一台机器上)

    1.配置svn的hooks 2.实例演示 1.配置svn的hooks 1.1)配置情况 承接上篇svn搭建的文章,今次继续使用上篇文章的配置 上篇文章的地址:linux下搭建svn代码库 svn仓库所 ...

  5. [转]关于event的两个常被忽略的api:isDefaultPrevented()和preventDefault()

    今天在robert penner(as3 singal的作者)的一篇blog文中顺藤摸瓜到了darron schall的另外一篇blog文(Creating Default, Cancelable E ...

  6. 延迟加载图片插件LazyLoad.js的使用方法

    我们常常会见到很多网页的图片并不是一打开页面就全部加载的,而是浏览到当前的图片位置才显示出来.这是怎么实现出来的呢? 其实这就是目前较为流行的“延迟加载”(Lazy Load)技术,灵感来自Matt ...

  7. [CareerCup] 18.10 Word Transform 单词转换

    18.10 Given two words of equal length that are in a dictionary, write a method to transform one word ...

  8. JS原型探索小记(一)

    最近,我学习了jquery的源码,有个很深的认识就是——当对js的基本语法和面向对象思维了解比较熟悉之后,js真正的精髓在通过阅读一些优秀的框架源码也显现出来,我个人总结为对原型(原型链)和闭包两个基 ...

  9. 读《深入php面向对象、模式与实践》有感(三)

    命令模式: 第一次接触到这个命令模式的时候,感觉它很像一个简化的mvc框架.从不同的路径访问,再由控制器来判断所要调用的具体php文件. <?php class CommandContext{ ...

  10. Window.onload与$(document).ready()的对比