博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FluentNhibernate 不支持存储过程
阅读量:4663 次
发布时间:2019-06-09

本文共 1091 字,大约阅读时间需要 3 分钟。

 一直以为没有使用FN进行存储过程的操作,这次因为后台首页想统计下数据,就利用了存储过程,但在使用中却发现FN目前还不支持存储过程(),没有办法,只能利用Fluent Configuration和HBM Configuration混合的映射方式。

这里要注意的是:

a)存储过程返回的数据,最好重新定义一个class,并且进行映射(可以使用FN或者HDM方式)

b)把新定义的class和映射的hbm文件,放到你的Model层,这是为了方便以后的管理。

c)映射存储过程的hdm文件名,以返回类型的名称命名。(如果返回的class命名为:DataResult,hbm的文件名为:DataResult.hbm.xml)

class:

public class TravelDefaultData    {        public virtual int UserCount { get; set; } public virtual int OrderCount { get; set; } public virtual int LineCount { get; set; } public virtual int CrusiseCount { get; set; } }

hbm:

EXEC [GetTravelData] :userStartDate, :orderStartDate, :lineStartDate, :crusiesStartDate

TravelDefaultData的映射,可以。

最后记得配置下混合映射:

var db = Fluently.Configure()                .Database(GetSqlConfig())                .Mappings(a =>                {                    a.FluentMappings.AddFromAssemblyOf
(); a.HbmMappings.AddClasses(typeof(TravelDefaultData)); }); return db.BuildSessionFactory();

配置以后就能按照NHibernate的方式进行使用了。

转载于:https://www.cnblogs.com/aaa6818162/p/4146994.html

你可能感兴趣的文章
网络类型判断
查看>>
黑客dos命令大全
查看>>
Java开发必用的工具包
查看>>
https soap链接示例
查看>>
八LWIP学习笔记之用户编程接口(NETCONN)
查看>>
Git Day02,工作区,暂存区,回退,删除文件
查看>>
Docker安装MariaDB
查看>>
如何给app客户端进行埋点?
查看>>
结对第二次—文献摘要热词统计及进阶需求
查看>>
JavaWeb---总结(十三)使用Session防止表单重复提交
查看>>
JSP介绍(2)--- 九大隐式对象
查看>>
[置顶] .net技术类面试、笔试题汇总3
查看>>
JAVA操作Hbase基础例子
查看>>
js表达式和语句趣味题讲解与技术分享
查看>>
【VC++技术杂谈006】截取电脑桌面并将其保存为bmp图片
查看>>
Java多线程编程(五)定时器Timer
查看>>
如何正确使用const(常量),define(宏)
查看>>
Linux系统目录权限chmod误操作权限修复方法
查看>>
wp7中如和从app.xaml.cs中直接导航到程序的某个页面
查看>>
Eclipse Jee Neon打开时报错 code=13的问题
查看>>