isession

    7热度

    2回答

    已经建成使用工作/ Repository模式的单位的小型应用程序,我在努力了解如何我的业务层中正确使用本。我的应用程序有一个数据访问层,可以是NHibernate或实体框架。我可以轻松地在这些之间切换。 我有许多仓库,例如,客户,订单等我工作的单位将是要么一个ISession或者根据我想,以测试其DAL对象上下文。 我的业务层包含一个单一的业务方法 - CreateOrder()。我在努力理解的是

    1热度

    1回答

    当我打开会话与 var session = factory.OpenSession(); ,并检查session.Connection.State它是开放的。 “连接”是SqlConnection类型。 这意味着通过创建会话连接会自动打开,我认为这与NH不同。在NH确定冲洗的最佳时间之前,这不应该关闭吗?我究竟做错了什么? 的hibernate.cfg.xml中: <hibernate-confi

    2热度

    1回答

    我试图学习一些NHibernate潜入EF4后。相当于EF4 ObjectContext(或DbContext)的NHibernate会话吗? 具体来说,在EF4,你从ObjectContext的(或的DbContext)派生和你的类包含每个实体的明确的对象集的,例如: public class EcommerceContext : ObjectContext { public Obj

    2热度

    3回答

    我的'用户'实体几乎总是通过用户名而不是其整数替代键来检索。由于用户名不是主键,这意味着ISession不会缓存它并重复访问数据库以获取相同的数据。 有没有什么办法可以配置NHibernate来让ISession缓存用户检索的用户?

    0热度

    1回答

    我有一些代码做2次session.get(id)在同一个ISession上。我可以看到ISession创建2个idbconnections。我想这是因为某种配置。我希望它能在同一个idbconnection上进行读取。怎么样?

    0热度

    1回答

    背景: 创建使用HTTP模块来管理创建/提交事务和会议/回滚与NH3的web应用的开始。 在发生错误的情况下,我想将简单消息返回给用户,但回滚事务。 挂钩context.Error事件,允许在发生异常时轻松回滚,但是,由于异常被捕获,因此不会调用它,因此会向用户显示友好的消息。 由于上述问题,我将创建一个自定义工作单元场景,并将其存储在请求的Http上下文中。如果发生错误,请设置RollbackR

    4热度

    6回答

    我正在用NHibernate创建大量实体,将它们附加到我的ISession中,然后使用一个事务将我的更改提交给数据库。代码样品低于: ISession _context = SessionProvider.OpenSession(); //Create new entities for(int i=0; i<100; i++) { MyEntity entity = new My

    0热度

    2回答

    我想在我的控制台应用程序中实现一些适当的NHibernate会话管理,但遇到一些非常奇怪的问题。有一刻,一切似乎都能正常工作,但随机地,突然间它开始抛出一个“指定的转换无效”异常,当试图获取一个特定的对象时,它似乎指向一个日期时间值,但没有更多的信息是提供。 现在,我已经消除了任何与我的映射有关的错误,因为我只是取消了除字符串字段和主键(这是一个GUID)之外的所有字段。尽管如此,这个例外仍然存在

    0热度

    2回答

    当一个人使用相同的会话时,NHibernate的一级缓存可用。 ActiveRecordBase.FindAll()每次创建一个新的ISession。所以这样一个以下不能从一级缓存中获利: void test1() { Car.FindAll(); Car.FindAll(); Car.FindAll(); } 有没有解决方法?

    0热度

    1回答

    我在创建与SQL Server的连接时收到异常。 ISession工厂如下所示从该我发现了异常: private static ISessionFactory CreateSessionFactory() { return Fluently.Configure() .Database(FluentNHibernate.Cfg.Db.MsSqlConfiguration.M