首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NHibernate标准是否可以从缓存中提取

NHibernate标准是否可以从缓存中提取
EN

Stack Overflow用户
提问于 2009-07-10 20:16:23
回答 2查看 384关注 0票数 0

我使用NHibernate将大量数据加载到数据库中。当我插入时,我想检查重复项。

我在没有刷新会话的情况下在每个循环中调用saveorupdate。

是否有一种方法可以在不刷新的情况下查询此会话中的重复项?

EN

回答 2

Stack Overflow用户

发布于 2009-07-10 22:34:47

也许您应该尝试将nhibernate与Spring.NET集成,以允许Spring.NET通过创建DAO支持来处理会话。希望这能有所帮助!http://www.springframework.net/docs/1.1-RC2/reference/html/dao.html

票数 0
EN

Stack Overflow用户

发布于 2009-11-02 05:58:48

您可以编写自定义拦截器,它为您提供具有以下签名的onsave方法: public override bool OnLoad(对象实体,对象id,object[]状态,string[] propertyNames,IType[]类型)

然后,您可以在此方法中使用重复的检查逻辑。(例如,通过保留该类型的所有ids的字典)

或者,您可以在自定义的ISaveEventListner实现中直接挂接您的重复检查代码。您需要在配置nhibernate时注册自定义的event listner。下面是ref的代码片段

代码语言:javascript
运行
复制
Configuration cfg = new Configuration();
ISaveEventListener[] stack = new ISaveEventListener[] { new MySaveListener(), new DefaultSaveEventListener() };
cfg.EventListeners.SaveEventListeners = stack;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1111733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档