Syntax to define a NHibernate Filter with Fluent Nhibernate?

If you build Fluent from source, there is now support for filters. You use them like this: First create a class inheriting from FluentNHibernate.Mapping.FilterDefinition: using FluentNHibernate.Mapping; namespace PonyApp.FluentFilters { public class PonyConditionFilter : FilterDefinition { public PonyConditionFilter() { WithName(“PonyConditionFilter”) .AddParameter(“condition”,NHibernate.NHibernateUtil.String); } } } In your ClassMap for your class, use the ApplyFilter method: namespace PonyApp.Entities.Mappings … Read more

How do add NOLOCK with nHibernate?

SetLockMode(LockMode.None) or connection.isolation ReadUncomitted does NOT append a NOLOCK to your queries. Ayende goes into the correct answer on his blog: If you’re using <sql-query> you can do the following: <sql-query name=”PeopleByName”> <return alias=”person” class=”Person”/> SELECT {person.*} FROM People {person} WITH(nolock) WHERE {person}.Name LIKE :name </sql-query> Note the WTIH(nolock) appended to the FROM clause.

Why doesn’t Entity Framework support ODBC?

The Entity Framework doesn’t require new data providers, exactly. Rather, it requires Entity Framework providers which extend existing data providers, to provide additional services required by the Entity Framework, such as complex SQL generation, which are not part of the existing ADO.NET data model. I don’t think that there’s anything stopping anyone from writing an … Read more

DateTime precision in NHibernate and support for DateTime2 in NHibernate SchemeExport

Actually the NHibernate reference states that the DateTime nhibernate type will store the .NET DateTime as an SQL datetime truncated at the second level (no millisecond granularity) As such it provides the Timestamp NHibernate type (type=”Timestamp” in the mapping) which will store a .NET DateTime as an SQL datetime without truncation. Note here that an … Read more

How do I view the SQL that is generated by nHibernate?

You can put something like this in your app.config/web.config file : in the configSections node : <section name=”log4net” type=”log4net.Config.Log4NetConfigurationSectionHandler,log4net”/> in the configuration node : <log4net> <appender name=”NHibernateFileLog” type=”log4net.Appender.FileAppender”> <file value=”logs/nhibernate.txt” /> <appendToFile value=”false” /> <layout type=”log4net.Layout.PatternLayout”> <conversionPattern value=”%d{HH:mm:ss.fff} [%t] %-5p %c – %m%n” /> </layout> </appender> <logger name=”NHibernate.SQL” additivity=”false”> <level value=”DEBUG”/> <appender-ref ref=”NHibernateFileLog”/> </logger> </log4net> … Read more

Generate XML mappings from fluent Nhibernate

You can do something like: config.Mappings(m => { m.FluentMappings.ExportTo(“…file path here…”); m.HbmMappings.ExportTo(“…file path here…”); m.AutoMappings.ExportTo(“…file path here…”); { ); I don’t like it myself. If I find some better way (if such exists at all) I’ll update the answer. See Or if broken, see this instead