草庐IT

NHibernate

全部标签

c# - nHibernate,不存在具有给定标识符的行

我有一个沿着这条线的映射。现在数据库中mdm_field表中的field_id有时会有一个相关key_field表中不存在的值,所以基本上是破坏了参照完整性。因此,当我加载实体时,出现错误“不存在具有给定标识符的行”。我如何配置映射以适应这种情况,使其不会在这种情况下死亡。 最佳答案 好的,我找到了答案。添加not-found="ignore"属性KeyField: 关于c#-nHibernate,不存在具有给定标识符的行,我们在StackOverflow上找到一个类似的问题:

c# - 在保持排序的同时将有序列表保存到数据库的最佳方法

我想知道是否有人对我在过去几年中遇到过无数次的问题有好的解决方案。我有一个购物车,我的客户明确要求它的订单很重要。所以我需要将订单持久化到数据库。最明显的方法是简单地插入一些OrderField,我会将数字0分配给N,然后按这种方式对其进行排序。但这样做会使重新排序变得更加困难,而且我觉得这个解决方案有点脆弱,总有一天会回到我身边。(我将C#3,5与NHibernate和SQLServer2005结合使用)谢谢 最佳答案 好的,这是我的解决方案,可以让与此线程相关的任何人更轻松地进行编程。诀窍是能够在一次更新中更新高于或低于插入/删

c# - 在保持排序的同时将有序列表保存到数据库的最佳方法

我想知道是否有人对我在过去几年中遇到过无数次的问题有好的解决方案。我有一个购物车,我的客户明确要求它的订单很重要。所以我需要将订单持久化到数据库。最明显的方法是简单地插入一些OrderField,我会将数字0分配给N,然后按这种方式对其进行排序。但这样做会使重新排序变得更加困难,而且我觉得这个解决方案有点脆弱,总有一天会回到我身边。(我将C#3,5与NHibernate和SQLServer2005结合使用)谢谢 最佳答案 好的,这是我的解决方案,可以让与此线程相关的任何人更轻松地进行编程。诀窍是能够在一次更新中更新高于或低于插入/删

c# - TransactionScope 如何回滚事务?

我正在编写一个集成测试,我将在其中将多个对象插入数据库,然后检查以确保我的方法是否检索到这些对象。我通过NHibernate连接到数据库...我创建此类测试的常用方法是执行以下操作:NHibernateSession.BeginTransaction();//usenhibernatetoinsertobjectsintodatabase//retrieveobjectsviamymethod//verifyactualobjectsreturnedarethesameasthoseinsertedNHibernateSession.RollbackTransaction();但是,我

c# - TransactionScope 如何回滚事务?

我正在编写一个集成测试,我将在其中将多个对象插入数据库,然后检查以确保我的方法是否检索到这些对象。我通过NHibernate连接到数据库...我创建此类测试的常用方法是执行以下操作:NHibernateSession.BeginTransaction();//usenhibernatetoinsertobjectsintodatabase//retrieveobjectsviamymethod//verifyactualobjectsreturnedarethesameasthoseinsertedNHibernateSession.RollbackTransaction();但是,我

c# - 最小起订量:不可覆盖成员的无效设置:x => x.GetByTitle ("asdf")

不确定如何解决这个问题,尝试对“GetByTitle”方法进行单元测试这是我的定义:publicclassArticleDAO:GenericNHibernateDAO(IArticle,int>,IArticleDAO{publicIArticleGetByTitle(stringtitle){IQueryquery=Session.CreateQuery("...")returnquery.UniqueResult();}}publicinterfaceIArticleDAO{IArticleGetByTitle(stringtitle);}单元测试:[Test]publicvoi

c# - 最小起订量:不可覆盖成员的无效设置:x => x.GetByTitle ("asdf")

不确定如何解决这个问题,尝试对“GetByTitle”方法进行单元测试这是我的定义:publicclassArticleDAO:GenericNHibernateDAO(IArticle,int>,IArticleDAO{publicIArticleGetByTitle(stringtitle){IQueryquery=Session.CreateQuery("...")returnquery.UniqueResult();}}publicinterfaceIArticleDAO{IArticleGetByTitle(stringtitle);}单元测试:[Test]publicvoi

c# - NHibernate.映射异常 : No persister for: XYZ

现在,在你说之前:我做了谷歌和我的hbm.xml文件是一个嵌入式资源。这是我调用的代码:ISessionsession=GetCurrentSession();varreturnObject=session.Get(Id);这是我的类(class)映射文件:以前有人遇到过这个问题吗?这是完整的错误信息:MappingException:Nopersisterfor:HQData.Objects.SubCategory]NHibernate.Impl.SessionFactoryImpl.GetEntityPersister(StringentityName,BooleanthrowIf

c# - NHibernate.映射异常 : No persister for: XYZ

现在,在你说之前:我做了谷歌和我的hbm.xml文件是一个嵌入式资源。这是我调用的代码:ISessionsession=GetCurrentSession();varreturnObject=session.Get(Id);这是我的类(class)映射文件:以前有人遇到过这个问题吗?这是完整的错误信息:MappingException:Nopersisterfor:HQData.Objects.SubCategory]NHibernate.Impl.SessionFactoryImpl.GetEntityPersister(StringentityName,BooleanthrowIf

entity-framework - NHibernate 的三级缓存

我们的项目使用EntityFramework并有2种类型的缓存(内存中,Redis),没有任何缓存提供程序。由于lackofsecond-levelcachesupportinEF我们自己实现了。所以我们的内存缓存是一组简单的键值对,其中键是缓存的Id,值是缓存的对象。我们也实现了类似的缓存来使用Redis。对于查询,我们查看内存缓存列表,如果不存在,我们查看Redis,如果不存在,我们查询数据库。因为EntityFramework实体引用了上下文,我们不能在缓存中使用DbContext的实体,我们需要映射它。所以我们需要创建很多DTO。我知道缓存是cross-cuttingconce