我会有兴趣听取别人的意见,看他们是否会select(请不要“讨厌”),以及为什么。 使用stream利的缺点是什么? (版本依赖可能?)优点,缺点,经验等
所以ADO.NETentity framework已经有了一些不好的新闻(以博客和请愿书的forms),但我不想急于判断。 我在实验的时间有限,但是我想知道有没有人使用它,但有更多的经验反馈? 最后,关于使用NHibernate的想法已经存在了很长时间, 可能比ADO.NET Entity Framework更成熟。
我如何查看由nHibernate生成的SQL? 版本1.2
我有NHibernate的以下configuration文件: <?xml version="1.0" encoding="utf-8" ?> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> <session-factory> <property name="connection.connection_string">Server=.\SQLEXPRESS;Database=mydb;Integrated Security=True;</property> <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property> <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> <property name="connection.release_mode">auto</property> <property name="adonet.batch_size">500</property> <property name="show_sql">true</property> </session-factory> </hibernate-configuration> 但是SQL不显示在Visual Studio的输出窗口中。 是否必须安装log4net ? 还是应该show_sql独自工作?
我一直在寻找优秀的nhibernate文档,特别是版本2.0。 我最近回到.NET开发,在我的生活中,我找不到正确的文档(甚至是最新的)。 任何build议将不胜感激。
我试图插入一些非常长的文本到stringprop – 它与LinqToSql完美的工作,现在我已经切换到NHibernate,并希望保存相同的实体,但nHibernate引发上述exception。 我怎样才能解决这个问题? 原来我的道具被定义为: Map(x => x.Content, "fT_Content").Nullable(); Map(x => x.Fields, "fT_Fields").Nullable(); 现在他们是: 这个工程,但为什么我必须这样做? Map(x => x.Content, "fT_Content").CustomSqlType("nvarchar(max)").Length(Int32.MaxValue).Nullable(); Map(x => x.Fields, "fT_Fields").CustomSqlType("nvarchar(max)").Length(Int32.MaxValue).Nullable(); 注:我有最新的nhibernate使用nuget。 对于这里的ref是字段: public virtual string Content { get; set; } public virtual string Fields { get; set; } 我想避免去现场制作,并突然插入停止在这张桌子上工作….
当你在stream利的NHibernate中设置一个string值时,它将数据库值设置为Nvarchar(255),我需要存储相当多的基于用户input的长string,并且255是不切实际的。 只是添加这是automapper问题,因为我使用stream利的NHibernate来build立数据库。
作为我之前的问题的后续。 我是一名ASP.NET程序员,想知道NHibernate如何帮助我更容易,更快速地完成工作。 假装我对NHibernate一无所知。 这是什么,它可以为我做什么?
想象下面的(简化的)数据库布局: 我们有很多“假日”logging,涉及到某个特定date的特定住宿等。 我想从数据库中获得每个住宿(即最低价格)的“最佳”假期,给定一组search标准(例如持续时间,离开机场等)。 将有多个相同价格的logging,所以我们需要select保存(降序),然后按出发date升序。 我可以写SQL来做这个看起来像这样(我不是说这是最好的方式): SELECT * FROM Holiday h1 INNER JOIN ( SELECT h2.HolidayID, h2.AccommodationID, ROW_NUMBER() OVER ( PARTITION BY h2.AccommodationID ORDER BY OfferSaving DESC ) AS RowNum FROM Holiday h2 INNER JOIN ( SELECT AccommodationID, MIN(price) as MinPrice FROM Holiday WHERE TradeNameID = 58001 /*** Other Criteria Here ***/ GROUP BY AccommodationID ) […]
我是NHibernate的新手,在过早closures会话时遇到了一些问题。 我已经通过重用会话而不是每个事务打开一个会话来解决这个问题。 不过,我的印象是,每次需要时打开会话是会话生命周期pipe理的推荐方法。 没有? 所以; 推荐的处理会话的方式是什么? 他们的一生应该是什么? 一个会话pr交易? 一个单独的会话来处理一切? 或者是什么? 编辑: 请注意,我的应用程序体系结构是与服务器端服务进行通信的桌面应用程序,这是所有数据库使用NHibernate + Fluent处理的内容。 (如果这有什么区别…)