FluentNHibernate Built-in alteration for altering an AutoPersistenceModel with instance of IAutoMappingOverride<T>. Provides a mechanism for altering an AutoPersistenceModel prior to the generation of mappings. Alter the model AutoPersistenceModel instance to alter Constructor for AutoMappingOverrideAlteration. Assembly to load overrides from. Alter the model Finds all types in the assembly (passed in the constructor) that implement IAutoMappingOverride<T>, then creates an AutoMapping<T> and applies the override to it. AutoPersistenceModel instance to alter A mapping override for an auto mapped entity. Entity who's auto-mapping you're overriding Alter the automapping for this type Automapping Facade over an assembly for retrieving type instances. A source for Type instances, acts as a facade for an Assembly or as an alternative Type provider. Defines a property to be used as a key for this composite-id. A member access lambda expression for the property The composite identity part fluent interface Defines a property to be used as a key for this composite-id with an explicit column name. A member access lambda expression for the property The column name in the database to use for this key, or null to use the property name The composite identity part fluent interface Defines a property to be used as a key for this composite-id with an explicit column name. A member access lambda expression for the property Additional settings for the key property The composite identity part fluent interface Defines a reference to be used as a many-to-one key for this composite-id with an explicit column name. A member access lambda expression for the property The composite identity part fluent interface Defines a reference to be used as a many-to-one key for this composite-id with an explicit column name. A member access lambda expression for the property A list of column names used for this key The composite identity part fluent interface Defines a reference to be used as a many-to-one key for this composite-id with an explicit column name. A member access lambda expression for the property A lambda expression specifying additional settings for the key reference A list of column names used for this key The composite identity part fluent interface Specifies that this composite id is "mapped"; aka, a composite id where the properties exist in the identity class as well as in the entity itself Specifies the unsaved value for the identity Unsaved value You may use a component as an identifier of an entity class. Your component class must satisfy certain requirements: * It must be Serializable. * It must re-implement Equals() and GetHashCode(), consistently with the database's notion of composite key equality. You can't use an IIdentifierGenerator to generate composite keys. Instead the application must assign its own identifiers. Since a composite identifier must be assigned to the object before saving it, we can't use unsaved-value of the identifier to distinguish between newly instantiated instances and instances saved in a previous session. You may instead implement IInterceptor.IsUnsaved() if you wish to use SaveOrUpdate() or cascading save / update. As an alternative, you may also set the unsaved-value attribute on a version or timestamp to specify a value that indicates a new transient instance. In this case, the version of the entity is used instead of the (assigned) identifier and you don't have to implement IInterceptor.IsUnsaved() yourself. The property of component type that holds the composite identifier. Your persistent class must override Equals() and GetHashCode() to implement composite identifier equality. It must also be Serializable. Set the access and naming strategy for this identity. Invert the next boolean operation Create a property mapping. Property to map Map(x => x.Name); Create a property mapping. Property to map Property column name Map(x => x.Name, "person_name"); Create a reference to another entity. In database terms, this is a many-to-one relationship. Other entity Property on the current entity References(x => x.Company); Create a reference to another entity. In database terms, this is a many-to-one relationship. Other entity Property on the current entity Column name References(x => x.Company, "company_id"); Create a reference to another entity. In database terms, this is a many-to-one relationship. Other entity Property on the current entity References(x => x.Company, "company_id"); Create a reference to another entity. In database terms, this is a many-to-one relationship. Other entity Property on the current entity Column name References(x => x.Company, "company_id"); Create a reference to any other entity. This is an "any" polymorphic relationship. Other entity to reference Property Create a reference to another entity based exclusively on the primary-key values. This is sometimes called a one-to-one relationship, in database terms. Generally you should use whenever possible. Other entity Property HasOne(x => x.ExtendedInfo); Create a reference to another entity based exclusively on the primary-key values. This is sometimes called a one-to-one relationship, in database terms. Generally you should use whenever possible. Other entity Property HasOne(x => x.ExtendedInfo); Create a dynamic component mapping. This is a dictionary that represents a limited number of columns in the database. Property containing component Component setup action DynamicComponent(x => x.Data, comp => { comp.Map(x => (int)x["age"]); }); Creates a component reference. This is a place-holder for a component that is defined externally with a ; the mapping defined in said will be merged with any options you specify from this call. Component type Property exposing the component Component reference builder Maps a component Type of component Component property Component mapping Component(x => x.Address, comp => { comp.Map(x => x.Street); comp.Map(x => x.City); }); Maps a component Type of component Component property Component mapping Component(x => x.Address, comp => { comp.Map(x => x.Street); comp.Map(x => x.City); }); Allows the user to add a custom component mapping to the class mapping. Note: not a fluent method. In some cases, our users need a way to add an instance of their own implementation of IComponentMappingProvider. For an example of where this might be necessary, see: http://codebetter.com/blogs/jeremy.miller/archive/2010/02/16/our-extension-properties-story.aspx Maps a collection of entities as a one-to-many Child entity type Collection property HasMany(x => x.Locations); Maps a collection of entities as a one-to-many Child entity type Collection property HasMany(x => x.Locations); Maps a collection of entities as a many-to-many Child entity type Collection property HasManyToMany(x => x.Locations); Maps a collection of entities as a many-to-many Child entity type Collection property HasManyToMany(x => x.Locations); Specify an insert stored procedure Stored procedure call Specify an update stored procedure Stored procedure call Specify an delete stored procedure Stored procedure call Specify an delete all stored procedure Stored procedure call Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Inverts the next boolean Maps to the Join element in NH 2.0 Specify the key column name Column name Specify the key column name Column names Specify the schema Schema name Inverse the ownership of this relationship Specify this relationship as optional Specify the catalog Catalog Specify a subselect for fetching this join Query Specify the table name Table name Specify the fetching strategy Invert the next boolean operation Starting point for automapping your entities. Automatically map classes in the assembly that contains . Class in the assembly you want to map Automatically map classes in the assembly that contains . Class in the assembly you want to map Automapping configuration Automatically map the classes in . Assembly containing the classes to map Automatically map the classes in . Assembly containing the classes to map Automapping configuration Automatically map the classes in each assembly supplied. Assemblies containing classes to map Automatically map the classes in each assembly supplied. Automapping configuration Assemblies containing classes to map Automatically map the classes in each assembly supplied. Automapping configuration Assemblies containing classes to map Automatically map the classes exposed through the supplied . containing classes to map Automatically map the classes exposed through the supplied . containing classes to map Automapping configuration Automatically map the classes exposed through the supplied . containing classes to map Criteria for selecting a subset of the types in the assembly for mapping Automatically map the classes in . Assembly containing the classes to map Criteria for selecting a subset of the types in the assembly for mapping Automatically map classes in the assembly that contains . Class in the assembly you want to map Criteria for selecting a subset of the types in the assembly for mapping Defines a mapping for an entity. Derive from this class to create a mapping, and use the constructor to control how your entity is persisted. public class PersonMap : ClassMap<Person> { public PersonMap() { Id(x => x.PersonId); Map(x => x.Name); Map(x => x.Age); } } Entity type to map Specify the identifier for this entity. Identity property Id(x => x.PersonId); Specify the identifier for this entity. Identity property Column name Id(x => x.PersonId, "id"); Create an Id that doesn't have a corresponding property in the domain object, or a column in the database. This is mainly for use with read-only access and/or views. Defaults to an int identity with an "increment" generator. Create an Id that doesn't have a corresponding property in the domain object, or a column in the database. This is mainly for use with read-only access and/or views. Type of the id Create an Id that doesn't have a corresponding property in the domain object. Type of the id Name and column name of the id Create a natural identity. This is a secondary identifier that has "business meaning" moreso than the primary key. NaturalId() .Property(x => x.Name); Create a composite identity. This is an identity composed of multiple columns. Note: Prefer using a surrogate key over a composite key whenever possible. CompositeId() .KeyProperty(x => x.FirstName) .KeyProperty(x => x.LastName); Create a composite identity represented by an identity class. This is an identity composed of multiple columns. Note: Prefer using a surrogate key over a composite key whenever possible. Composite id property CompositeId(x => x.Id) .KeyProperty(x => x.FirstName) .KeyProperty(x => x.LastName); Specifies that this class should be versioned/timestamped using the given property. Version/timestamp property Version(x => x.Timestamp); Specify that this entity should use a discriminator with it's subclasses. This is a mapping strategy called table-per-inheritance-hierarchy; where all subclasses are stored in the same table, differenciated by a discriminator column value. Type of the discriminator column Discriminator column name Default discriminator value Specify that this entity should use a discriminator with it's subclasses. This is a mapping strategy called table-per-inheritance-hierarchy; where all subclasses are stored in the same table, differenciated by a discriminator column value. Type of the discriminator column Discriminator column name Specify that this entity should use a discriminator with it's subclasses. This is a mapping strategy called table-per-inheritance-hierarchy; where all subclasses are stored in the same table, differenciated by a discriminator column value. Discriminator column name Specifies that any subclasses of this entity should be treated as union-subclass mappings. Don't use this in combination with a discriminator, as they are mutually exclusive. Sets the schema for this class. Schema name Sets the table for the class. Table name Sets this entity to be lazy-loaded (overrides the default lazy load configuration). Links this entity to another table, to create a composite entity from two or more tables. Joined table name Joined table mapping Join("another_table", join => { join.Map(x => x.Name); join.Map(x => x.Age); }); Imports an existing type for use in the mapping. Type to import. Set the mutability of this class, sets the mutable attribute. Sets this entity to be dynamic update Sets this entity to be dynamic insert Sets the query batch size for this entity. Batch size Specifies a check constraint Constraint name Specifies a persister to be used with this entity Persister type Specifies a persister to be used with this entity Persister type Specifies a persister to be used with this entity Persister type Specifies a proxy class for this entity. Proxy type Specifies a proxy class for this entity. Proxy type Specifies a proxy class for this entity. Proxy type Specifies that a select should be performed before updating this entity Defines a SQL 'where' clause used when retrieving objects of this type. Sets the SQL statement used in subselect fetching. Subselect SQL Query Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Applies a filter to this entity given it's name. Applies a filter to this entity given it's name. The filter's name The condition to apply Applies a filter to this entity given it's name. Applies a filter to this entity given it's name. The filter's name Applies a named filter to this entity. Applies a named filter to this entity. The condition to apply The type of a implementation defining the filter to apply. Applies a named filter to this one-to-many. The type of a implementation defining the filter to apply. Configures the tuplizer for this entity. The tuplizer defines how to transform a Property-Value to its persistent representation, and viceversa a Column-Value to its in-memory representation, and the EntityMode defines which tuplizer is in use. Tuplizer entity-mode Tuplizer type Specify the caching for this entity. Cache.ReadWrite(); Specify settings for the container/hibernate-mapping for this class. Note: Avoid using this, if possible prefer using conventions. HibernateMapping.Schema("dto"); Inverts the next boolean option Sets the optimistic locking strategy Sets the polymorphism behaviour Sets the schema action behaviour Flags a type as already mapped, stop it from being auto-mapped. Creates an instance of an IAutoMappingAlteration from a type instance, then adds it to the alterations collection. Type of an IAutoMappingAlteration Creates an instance of an IAutoMappingAlteration from a generic type parameter, then adds it to the alterations collection. Type of an IAutoMappingAlteration Container Adds an alteration Alteration to add Container Adds all alterations from an assembly Assembly to search Container Adds all alterations from an assembly that contains T. Type who's assembly to search Container Apply alterations to an AutoPersisteceModel AutoPersistenceModel instance to apply alterations to Determines whether a member is to be automapped. Determines whether a member is the identity of an entity. Determines whether an abstract class is a layer supertype or part of a mapped inheritance hierarchy. Specifies the value column used in a table of simple types. Implement this interface to control how the automapper behaves. Typically you're better off deriving from the class, which is pre-configured with the default settings; you can then just override specific methods that you'd like to alter. Determines whether a type should be auto-mapped. Override to restrict which types are mapped in your domain. You normally want to override this method and restrict via something known, like Namespace. return type.Namespace.EndsWith("Domain"); Type to map Should map type Determines whether a member of a type should be auto-mapped. Override to restrict which members are considered in automapping. You normally want to override this method to restrict which members will be used for mapping. This method will be called for every property, field, and method on your types. // all writable public properties: return member.IsProperty && member.IsPublic && member.CanWrite; Member to map Should map member Determines whether a member is the id of an entity. This method is called for each member that ShouldMap(Type) returns true for. Member Member is id Gets the access strategy to be used for a read-only property. This method is called for every setterless property and private-setter autoproperty in your domain that has been accepted through . Member to get access strategy for Access strategy Controls which side of a many-to-many relationship is considered the "parent". Left side of the relationship Right side of the relationship left or right Determines whether a type is a concrete, or instantiatable, base class. This affects how the inheritance mappings are built, specifically that any types this method returns true for will not be mapped as a subclass. Type Base type is concrete? Specifies that a particular type should be mapped as a component rather than an entity. Type Type is a component? Gets the column prefix for a component. Member defining the component Component column prefix Specifies whether a particular type is mapped with a discriminator. This method will be called for every type that has already been approved by . Type to check Whether the type is to be discriminated Gets the column name of the discriminator. Type Discriminator column name Specifies whether an abstract type is considered a Layer Supertype (http://martinfowler.com/eaaCatalog/layerSupertype.html). Defaults to true for all abstract classes. Override this method if you have an abstract class that you want mapping as a regular entity. Abstract class type Whether the type is a Layer Supertype Gets the value column for a collection of simple types. This is the name of the <element> column. Collection property Value column name Gets the steps that are executed to map a type. Collection of mapping steps Gets or sets whether validation of mappings is performed. Specify alterations to be used with this AutoPersisteceModel Lambda to declare alterations AutoPersistenceModel Use auto mapping overrides defined in the assembly of T. Type to get assembly from AutoPersistenceModel Use auto mapping overrides defined in the assembly of T. Assembly to scan AutoPersistenceModel Alter some of the configuration options that control how the automapper works. Depreciated in favour of supplying your own IAutomappingConfiguration instance to AutoMap: . Cannot be used in combination with a user-defined configuration. Supply a criteria for which types will be mapped. Cannot be used in combination with a user-defined configuration. Where clause Adds all entities from a specific assembly. Assembly to load from Adds all entities from the . to load from Override the mapping of a specific entity. This may affect subclasses, depending on the alterations you do. Entity who's mapping to override Lambda performing alterations Override all mappings. Currently only supports ignoring properties on all entities. Lambda performing alterations Ignore a base type. This removes it from any mapped inheritance hierarchies, good for non-abstract layer supertypes. Type to ignore Ignore a base type. This removes it from any mapped inheritance hierarchies, good for non-abstract layer supertypes. Type to ignore Explicitly includes a type to be used as part of a mapped inheritance hierarchy. Abstract classes are probably what you'll be using this method with. Fluent NHibernate considers abstract classes to be layer supertypes, so doesn't automatically map them as part of an inheritance hierarchy. You can use this method to override that behavior for a specific type; otherwise you should consider using the setting. Type to include Explicitly includes a type to be used as part of a mapped inheritance hierarchy. Abstract classes are probably what you'll be using this method with. Fluent NHibernate considers abstract classes to be layer supertypes, so doesn't automatically map them as part of an inheritance hierarchy. You can use this method to override that behavior for a specific type; otherwise you should consider using the setting. Type to include Alter convention discovery Sets whether this subclass is lazy loaded Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Inverts the next boolean Provides types for mapping from multiple assemblies Represents a string identifier for the model instance, used in conventions for a lazy shortcut. e.g. for a ColumnMapping the StringIdentifierForModel would be the Name attribute, this allows the user to find any columns with the matching name. Diagnostic logging configuration Conditionally enable logging Enable logging Enable logging Disable logging Register a logging listener Listener Register a default Console.Write listener Register a Console.Write listener with a custom result formatter Result formatter Register a default file output listener Output path Register a file output listener with a custom result formatter Result formatter Output path Sets the database dialect. This shouldn't be necessary if you've used one of the provided database configurations. Configuration builder Sets the database dialect. This shouldn't be necessary if you've used one of the provided database configurations. Configuration builder Sets the default database schema Default schema name Configuration builder Enables the outer-join option. Configuration builder Sets the max fetch depth. Max fetch depth Configuration builder Enables the reflection optimizer. Configuration builder Sets any query stubstitutions that NHibernate should perform. Substitutions Configuration builder Enables the show SQL option. Configuration builder Enables the format SQL option. Configuration builder Sets the database provider. This shouldn't be necessary if you're using one of the provided database configurations. Provider type Configuration builder Sets the database provider. This shouldn't be necessary if you're using one of the provided database configurations. Provider type Configuration builder Specify the database driver. This isn't necessary if you're using one of the provided database configurations. Driver type Configuration builder Specify the database driver. This isn't necessary if you're using one of the provided database configurations. Driver type Configuration builder Configure the connection string ConnectionString(x => { x.Server("db_server"); x.Database("Products"); }); Closure for building the connection string Configuration builder Set the connection string. Connection string to use Configuration builder Configure caching. Cache(x => { x.UseQueryCache(); x.UseMinimalPuts(); }); Closure for configuring caching Configuration builder Sets a raw property on the NHibernate configuration. Use this method if there isn't a specific option available in the API. Setting key Setting value Configuration builder Sets the collectiontype.factory_class property. NOTE: NHibernate 2.1 only factory class Configuration Sets the collectiontype.factory_class property. NOTE: NHibernate 2.1 only factory class Configuration Sets the collectiontype.factory_class property. NOTE: NHibernate 2.1 only factory class Configuration Sets the proxyfactory.factory_class property. NOTE: NHibernate 2.1 only factory class Configuration Sets the proxyfactory.factory_class property. NOTE: NHibernate 2.1 only factory class Configuration Sets the proxyfactory.factory_class property. NOTE: NHibernate 2.1 only factory class Configuration Sets the adonet.batch_size property. Batch size Configuration Sets the current_session_context_class property. current session context class Configuration Sets the current_session_context_class property. Implementation of ICurrentSessionContext to use Configuration Sets the connection isolation level. NHibernate setting: connection.isolation Isolation level Configuration builder Sets the connection isolation level. NHibernate setting: connection.isolation Isolation level Configuration builder Negates the next boolean option. Base class for attribute based conventions. Create a subclass of this to supply your own attribute based conventions. Attribute identifier Basic convention interface. Don't use directly. Inspector instance for use in retrieving values and setting expectations Apply instance Ignore - this is used for generic restrictions only Apply changes to the target Whether this convention will be applied to the target. Instace that could be supplied Apply on this target? Apply changes to a property with an attribute matching T. Instance of attribute found on property. Property with attribute Convention for identities, implement this interface to apply changes to identity mappings. Version convention, implement this interface to apply changes to vesion mappings. Property convention, implement this interface to apply changes to property mappings. Convention for a component mapping. Implement this interface to apply changes to components. Convention for dynamic components. Implement this member to apply changes to dynamic components. Reference convention, implement this interface to apply changes to Reference/many-to-one relationships. HasOne convention, used for applying changes to one-to-one relationships. Convention for the hibernate-mapping container for a class, this can be used to set some class-wide settings such as lazy-load and access strategies. Joined subclass convention, implement this interface to alter joined-subclass mappings. Join convention, implement this interface to alter join mappings. Convention for a single class mapping. Implement this interface to apply changes to class mappings. Subclass convention, implement this interface to alter subclass mappings. Apply changes to the target Apply changes to the target Apply changes to the target Apply changes to the target Apply changes to the target Represents a string identifier for the model instance, used in conventions for a lazy shortcut. e.g. for a ColumnMapping the StringIdentifierForModel would be the Name attribute, this allows the user to find any columns with the matching name. Gets the requested value off the first column, as all columns are (currently) created equal Applies to the joining table for this many-to-many. Applies to the joining table for this many-to-many. generates identifiers of any integral type that are unique only when no other process is inserting data into the same table. Do not use in a cluster. generates identifiers of any integral type that are unique only when no other process is inserting data into the same table. Do not use in a cluster. Params configuration supports identity columns in DB2, MySQL, MS SQL Server and Sybase. The identifier returned by the database is converted to the property type using Convert.ChangeType. Any integral property type is thus supported. supports identity columns in DB2, MySQL, MS SQL Server and Sybase. The identifier returned by the database is converted to the property type using Convert.ChangeType. Any integral property type is thus supported. Params configuration uses a sequence in DB2, PostgreSQL, Oracle or a generator in Firebird. The identifier returned by the database is converted to the property type using Convert.ChangeType. Any integral property type is thus supported. uses a sequence in DB2, PostgreSQL, Oracle or a generator in Firebird. The identifier returned by the database is converted to the property type using Convert.ChangeType. Any integral property type is thus supported. Params configuration uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value The table. The column. The max lo. The where. uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value Params configuration uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value Params configuration uses an Oracle-style sequence (where supported) uses an Oracle-style sequence (where supported) Params configuration uses System.Guid and its ToString(string format) method to generate identifiers of type string. The length of the string returned depends on the configured format. http://msdn.microsoft.com/en-us/library/97af8hh4.aspx uses System.Guid and its ToString(string format) method to generate identifiers of type string. The length of the string returned depends on the configured format. http://msdn.microsoft.com/en-us/library/97af8hh4.aspx Params configuration uses a new System.Guid to create a byte[] that is converted to a string. uses a new System.Guid to create a byte[] that is converted to a string. Params configuration uses a new System.Guid as the identifier. uses a new System.Guid as the identifier. Params configuration Recommended for Guid identifiers! uses the algorithm to generate a new System.Guid described by Jimmy Nilsson in the article http://www.informit.com/articles/article.asp?p=25862. Recommended for Guid identifiers! uses the algorithm to generate a new System.Guid described by Jimmy Nilsson in the article http://www.informit.com/articles/article.asp?p=25862. Params configuration Generator that uses the RDBMS native function to generate a GUID. The behavior is similar to the “sequence” generator. When a new object is saved NH run two queries: the first to retrieve the GUID value and the second to insert the entity using the Guid retrieved from the RDBMS. Your entity Id must be System.Guid and the SQLType will depend on the dialect (RAW(16) in Oracle, UniqueIdentifier in MsSQL for example). Generator that uses the RDBMS native function to generate a GUID. The behavior is similar to the “sequence” generator. When a new object is saved NH run two queries: the first to retrieve the GUID value and the second to insert the entity using the Guid retrieved from the RDBMS. Your entity Id must be System.Guid and the SQLType will depend on the dialect (RAW(16) in Oracle, UniqueIdentifier in MsSQL for example). GuidNative(x => { x.AddParam("key", "value"); }); Parameter builder closure A deviation of the trigger-identity. This generator works together with the feature. The difference with trigger-identity is that the POID value is retrieved by a SELECT using the natural-id fields as filter. A deviation of the trigger-identity. This generator works together with the feature. The difference with trigger-identity is that the POID value is retrieved by a SELECT using the natural-id fields as filter. Select(x => { x.AddParam("key", "value"); }); Parameter builder closure Based on sequence but works like an identity. The POID value is retrieved with an INSERT query. Your entity Id must be an integral type. "hibernate_sequence" is the default name for the sequence, unless another is provided. Based on sequence but works like an identity. The POID value is retrieved with an INSERT query. Your entity Id must be an integral type. "hibernate_sequence" is the default name for the sequence, unless another is provided. Custom sequence name Based on sequence but works like an identity. The POID value is retrieved with an INSERT query. Your entity Id must be an integral type. "hibernate_sequence" is the default name for the sequence, unless another is provided. Parameter builder closure Based on sequence but works like an identity. The POID value is retrieved with an INSERT query. Your entity Id must be an integral type. "hibernate_sequence" is the default name for the sequence, unless another is provided. Custom sequence name Parameter builder closure trigger-identity is a NHibernate specific feature where the POID is generated by the RDBMS with an INSERT query through a BEFORE INSERT trigger. In this case you can use any supported type, including a custom type, with the limitation of a single column usage. trigger-identity is a NHibernate specific feature where the POID is generated by the RDBMS with an INSERT query through a BEFORE INSERT trigger. In this case you can use any supported type, including a custom type, with the limitation of a single column usage. Parameter builder closure lets the application to assign an identifier to the object before Save() is called. lets the application to assign an identifier to the object before Save() is called. Params configuration picks identity, sequence or hilo depending upon the capabilities of the underlying database. picks identity, sequence or hilo depending upon the capabilities of the underlying database. Params configuration picks identity, sequence or hilo depending upon the capabilities of the underlying database. picks identity, sequence or hilo depending upon the capabilities of the underlying database. uses the identifier of another associated object. Usually used in conjunction with a one-to-one primary key association. uses the identifier of another associated object. Usually used in conjunction with a one-to-one primary key association. Params configuration Applies to the joining table for this many-to-many. Applies to the joining table for this many-to-many. Specify the lazy behaviour of this relationship. Defaults to Proxy lazy-loading. Use the modifier to disable lazy-loading, and use the overload to specify alternative lazy strategies. LazyLoad(); Not.LazyLoad(); Specify the lazy behaviour of this relationship. Cannot be used with the modifier. Laziness strategy LazyLoad(Laziness.NoProxy); Adds a column to the index if columns have not yet been specified The column name to add Adds a column to the index if columns have not yet been specified The column name to add Specify the lazy behaviour of this relationship. Defaults to Proxy lazy-loading. Use the modifier to disable lazy-loading, and use the overload to specify alternative lazy strategies. LazyLoad(); Not.LazyLoad(); Specify the lazy behaviour of this relationship. Cannot be used with the modifier. Laziness strategy LazyLoad(Laziness.NoProxy); (optional) Specifies the entity from which this subclass descends/extends. Type of the entity to extend (optional) Specifies the entity from which this subclass descends/extends. Type of the entity to extend Checks whether a collection contains an inspector identified by the string value. Checks whether a collection contains an inspector identified by a predicate. (optional) Specifies the entity from which this subclass descends/extends. Type of the entity to extend (optional) Specifies the entity from which this subclass descends/extends. Type of the entity to extend Base convention for specifying your own many-to-many table naming style. Implement the abstract members defined by this class to control how your join tables are named for uni and bi-directional many-to-many's. Gets the name used for bi-directional many-to-many tables. Implement this member to control how your join table is named for bi-directional relationships. This method will be called once per bi-directional relationship; once one side of the relationship has been saved, then the other side will assume that name aswell. Main collection Inverse collection Many-to-many table name Gets the name used for uni-directional many-to-many tables. Implement this member to control how your join table is named for uni-directional relationships. Main collection Many-to-many table name A component that is declared external to a class mapping. Determines the lazy-loading strategy for a collection mapping. Collection will be eager loaded (lazy=false). Collection will lazy loaded (lazy=true). collection will be extra lazy loaded (lazy=extra). "Extra" lazy collections are mostly similar to lazy=true, except certain operations on the collection will not load the whol collection but issue a smarter SQL statement. For example, invoking Count on an extra-lazy collection will issue a "SELECT COUNT(*)..." rather than selecting and loading the whole collection of entities. This bad boy is the entry point to the visitor Laziness strategy for relationships No lazy loading Proxy-based lazy-loading No proxy lazy loading Defines a property to be used for this natural-id. A member access lambda expression for the property The natural id part fluent interface Defines a property to be used for this natural-id with an explicit column name. A member access lambda expression for the property The column name in the database to use for this natural id, or null to use the property name The natural id part fluent interface Defines a reference to be used as a many-to-one key for this natural-id with an explicit column name. A member access lambda expression for the property The natural ID part fluent interface Defines a reference to be used as a many-to-one key for this natural-id with an explicit column name. A member access lambda expression for the property The column name in the database to use for this key, or null to use the property name The natural id part fluent interface Specifies that this id is read-only This is the same as setting the mutable attribute to false Inverts the next boolean operation Sets the tuplizer type. Type Sets the tuplizer type. Type Sets the tuplizer type. Type Sets the tuplizer mode Mode Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Computes the Levenshtein Edit Distance between two enumerables. The type of the items in the enumerables. The first enumerable. The second enumerable. The edit distance. A reference to a component which is declared externally. Contains properties that can't be declared externally (property name, for example) Specify the column name Column name Specify the column length Column length Specify the nullability of the column Specify the uniquness of the column Specify the unique key constraint name Constraint name Specify the SQL type for the column SQL type Specify the index name Index name Inverts the next boolean Defines a mapping for a component. Derive from this class to create a mapping, and use the constructor to control how your component is persisted. public class AddressMap : ComponentMap<Address> { public AddressMap() { Map(x => x.Street); Map(x => x.City); } } Component type to map Specify a parent reference for this component Parent property ParentReference(x => x.Parent); Specifies that this component is read-only This is the same as calling both Not.Insert() and Not.Update() Specifies that this component is insertable. Specifies that this component is updatable Specifies the uniqueness of this component Specify that this component should be optimistically locked on access Set the access and naming strategy for this component. Invert the next boolean operation Creates a component reference. This is a place-holder for a component that is defined externally with a ; the mapping defined in said will be merged with any options you specify from this call. Component type Property exposing the component Component reference builder The fluent-interface part for a external component reference. These are components which have their bulk/body declared external to a class mapping and are reusable. Component type Sets the prefix for any columns defined within the component. To refer to the property that exposes this component use {property}. // Entity using Address component public class Person { public Address PostalAddress { get; set; } } ColumnPrefix("{property}_") will result in any columns of Person.Address being prefixed with "PostalAddress_". Prefix for column names Maps to the Filter element in NH 2.0 Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Inverts the next boolean Defines how NHibernate will access the object for persisting/hydrating (Defaults to Property) Implicit polymorphism Explicit polymorphism Takes a type that represents the level in the class/subclass-hiearchy that we're starting from, the parent, this can be a class or subclass; also takes a list of subclass providers. The providers are then iterated and added to a dictionary key'd by the types "distance" from the parentType; distance being the number of levels between parentType and the subclass-type. By default if the Parent type is an interface the level will always be zero. At this time there is no check for hierarchical interface inheritance. Starting point, parent type. List of subclasses Dictionary key'd by the distance from the parentType. The evalType starts out as the original subclass. The class hiearchy is only walked if the subclass inherits from a class that is included in the subclassProviders. The evalType is always one class higher in the hiearchy starting from the original subclass. The class hiearchy is walked until the IsTopLevel (base class is Object) is met. The level is only incremented if the subclass inherits from a class that is also in the subclassProviders. Defines a mapping for an entity subclass. Derive from this class to create a mapping, and use the constructor to control how your entity is persisted. public class EmployeeMap : SubclassMap<Employee> { public EmployeeMap() { Map(x => x.Name); Map(x => x.Age); } } Entity type to map (optional) Specifies that this subclass is abstract Sets the dynamic insert behaviour Sets the dynamic update behaviour Specifies that this entity should be lazy loaded Specify a proxy type for this entity Proxy type Specify a proxy type for this entity Proxy type Specify that a select should be performed before an update of this entity Set the discriminator value, if this entity is in a table-per-class-hierarchy mapping strategy. Discriminator value Sets the table name Table name Sets the schema Schema Specifies a check constraint Constraint name Adds a column to the key for this subclass, if used in a table-per-subclass strategy. Column name Subselect query Subselect query Specifies a persister for this entity Persister type Specifies a persister for this entity Persister type Specifies a persister for this entity Persister type Set the query batch size Batch size Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Links this entity to another table, to create a composite entity from two or more tables. This only works if you're in a table-per-inheritance-hierarchy strategy. Joined table name Joined table mapping Join("another_table", join => { join.Map(x => x.Name); join.Map(x => x.Age); }); (optional) Specifies the entity from which this subclass descends/extends. Type of the entity to extend (optional) Specifies the entity from which this subclass descends/extends. Type of the entity to extend Inverts the next boolean setting Container for automatic mappings Add automatic mappings Lambda returning an auto mapping setup Auto mappings configuration Add automatic mappings Auto mapping setup Auto mappings configuration Sets the export location for generated mappings Path to folder for mappings Auto mappings configuration Sets the text writer to write the generated mappings to. Fluent mappings configuration Applies any added mappings to the NHibernate Configuration NHibernate Configuration instance Gets whether any mappings were added Initializes a new instance of the class using the MS Oracle Client (System.Data.OracleClient) library specifying the Oracle 9i dialect. Initializes a new instance of the class using the MS Oracle Client (System.Data.OracleClient) library specifying the Oracle 10g dialect. This allows for ANSI join syntax. Initializes a new instance of the class using the Oracle Data Provider (Oracle.DataAccess) library specifying the Oracle 8i dialect. The Oracle.DataAccess library must be available to the calling application/library. Initializes a new instance of the class using the Oracle Data Provider (Oracle.DataAccess) library specifying the Oracle 9i dialect. The Oracle.DataAccess library must be available to the calling application/library. Initializes a new instance of the class using the Oracle Data Provider (Oracle.DataAccess) library specifying the Oracle 10g dialect. The Oracle.DataAccess library must be available to the calling application/library. This allows for ANSI join syntax. Specifies the server to connect. This can be either the DNS name of the server or the IP (as a string). The server. Specifies the instance (database name) to use. This can be the short name or the fully qualified name (Oracle service name). The instance. Specifies the name of the user account accessing the database. The username. Specifies the password of the user account accessing the database. The password. Optional. Ports the specified port the oracle database is running on. This defaults to 1521. The port. Enable or disable pooling connections for this data configuration. if set to true enable pooling. Specifies the SQL statement cache size to use for this connection. Size of the cache. Specifies, as a string, other Oracle options to pass to the connection. The other options. Initializes a new instance of the class using the Oracle Data Provider (Oracle.DataAccess) library specifying the Oracle 9i dialect. The Oracle.DataAccess library must be available to the calling application/library. Initializes a new instance of the class using the Oracle Data Provider (Oracle.DataAccess) library specifying the Oracle 10g dialect. The Oracle.DataAccess library must be available to the calling application/library. The type of authentication to be used. Acceptable values: SERVER SERVER_ENCRYPT DATA_ENCRYPT KERBEROS GSSPLUGIN IfxDRDAConnectionStringBuilder object The name of the database within the server instance. IfxSQLIConnectionStringBuilder object true - host variable (:param) support enabled. false (default) - host variable support disabled. IfxSQLIConnectionStringBuilder object Isolation level for the connection. Possible values: ReadCommitted ReadUncommitted RepeatableRead Serializable Transaction This keyword is only supported for applications participating in a distributed transaction. IfxDRDAConnectionStringBuilder object The maximum number of connections allowed in the pool. IfxDRDAConnectionStringBuilder object The minimum number of connections allowed in the pool. Default value 0. IfxDRDAConnectionStringBuilder object The password associated with the User ID. IfxDRDAConnectionStringBuilder object When set to true, the IfxConnection object is drawn from the appropriate pool, or if necessary, it is created and added to the appropriate pool. Default value 'true'. IfxDRDAConnectionStringBuilder object Server name with optional port number for direct connection using either IPv4 notation ([:]]]>) or IPv6 notation. IfxDRDAConnectionStringBuilder object The login account. IfxDRDAConnectionStringBuilder object Other options: Connection Lifetime, Connection Reset, Connection Timeout, CurrentSchema, Enlist, Interrupt, Persist Security Info, ResultArrayAsReturnValue, Security, TrustedContextSystemUserID, TrustedContextSystemPassword IfxDRDAConnectionStringBuilder object Client locale, default value is en_us.CP1252 (Windows) IfxSQLIConnectionStringBuilder object The name of the database within the server instance. IfxSQLIConnectionStringBuilder object The language locale of the database. Default value is en_US.8859-1 IfxSQLIConnectionStringBuilder object When set to true or y for yes, any string within double quotes (") is treated as an identifier, and any string within single quotes (') is treated as a string literal. Default value 'y'. IfxSQLIConnectionStringBuilder object The name or IP address of the machine on which the Informix server is running. Required. IfxSQLIConnectionStringBuilder object The maximum number of connections allowed in the pool. Default value 100. IfxSQLIConnectionStringBuilder object The minimum number of connections allowed in the pool. Default value 0. IfxSQLIConnectionStringBuilder object The password associated with the User ID. Required if the client machine or user account is not trusted by the host. Prohibited if a User ID is not given. IfxSQLIConnectionStringBuilder object When set to true, the IfxConnection object is drawn from the appropriate pool, or if necessary, it is created and added to the appropriate pool. Default value 'true'. IfxSQLIConnectionStringBuilder object The name or alias of the instance of the Informix server to which to connect. Required. IfxSQLIConnectionStringBuilder object The service name or port number through which the server is listening for connection requests. IfxSQLIConnectionStringBuilder object The login account. Required, unless the client machine is trusted by the host machine. IfxSQLIConnectionStringBuilder object Other options like: Connection Lifetime, Enlist, Exclusive, Optimize OpenFetchClose, Fetch Buffer Size, Persist Security Info, Protocol, Single Threaded, Skip Parsing IfxSQLIConnectionStringBuilder object Fluent configuration API for NHibernate Configure diagnostic logging Diagnostic configuration Apply database settings Lambda returning database configuration Fluent configuration Apply database settings Database configuration instance Fluent configuration Apply mappings to NHibernate Lambda used to apply mappings Fluent configuration Allows altering of the raw NHibernate Configuration object before creation Lambda used to alter Configuration Fluent configuration Verify's the configuration and instructs NHibernate to build a SessionFactory. ISessionFactory from supplied settings. Verifies the configuration and populates the NHibernate Configuration instance. NHibernate Configuration instance Creates an exception based on the current state of the configuration. Inner exception FluentConfigurationException with state Fluently configure NHibernate Begin fluently configuring NHibernate Fluent Configuration Begin fluently configuring NHibernate Instance of an NHibernate Configuration Fluent Configuration Container for fluent mappings Add all fluent mappings in the assembly that contains T. Type from the assembly Fluent mappings configuration Add all fluent mappings in the assembly Assembly to add mappings from Fluent mappings configuration Adds a single represented by the specified type. Fluent mappings configuration Adds a single represented by the specified type. The type. Fluent mappings configuration Sets the export location for generated mappings Path to folder for mappings Fluent mappings configuration Sets the text writer to write the generated mappings to. Fluent mappings configuration Applies any added mappings to the NHibernate Configuration NHibernate Configuration instance Alter convention discovery Gets whether any mappings were added Container for Hbm mappings Add explicit classes with Hbm mappings List of types to map Hbm mappings configuration Add all Hbm mappings in the assembly that contains T. Type from the assembly Hbm mappings configuration Add all Hbm mappings in the assembly Assembly to add mappings from Hbm mappings configuration Applies any added mappings to the NHibernate Configuration NHibernate Configuration instance Gets whether any mappings were added Fluent mapping configuration Applies any mappings to the NHibernate Configuration Diagnostics logger NHibernate Configuration instance Fluent mappings Automatic mapping configurations Hbm mappings Get whether any mappings of any kind were added Convention finder - used to search through assemblies for types that implement a specific convention interface. Add a source to be queried. Source to query Add an assembly to be queried. All convention types must have a parameterless constructor, or a single parameter of . Assembly instance to query Adds all conventions found in the assembly that contains . All convention types must have a parameterless constructor, or a single parameter of . Add a single convention by type. Type must have a parameterless constructor, or a single parameter of . Convention type Add a single convention by type. Types must have a parameterless constructor, or a single parameter of . Type of convention Add an instance of a convention. Useful for supplying conventions that require extra constructor parameters. Convention type Instance of convention Find any conventions implementing T. Convention interface type IEnumerable of T Default convention finder - doesn't do anything special. Find any conventions implementing T. Convention interface type IEnumerable of T Add an assembly to be queried. All convention types must have a parameterless constructor, or a single parameter of IConventionFinder. Assembly instance to query Adds all conventions found in the assembly that contains T. All convention types must have a parameterless constructor, or a single parameter of IConventionFinder. Add a single convention by type. Type must have a parameterless constructor, or a single parameter of IConventionFinder. Convention type Add a single convention by type. Types must have a parameterless constructor, or a single parameter of . Type of convention Add an instance of a convention. Useful for supplying conventions that require extra constructor parameters. Convention type Instance of convention Indicates whether the current is equal to another . true if the current object is equal to the parameter; otherwise, false. An Entity to compare with this object. Determines whether the specified is equal to the current . true if the specified is equal to the current ; otherwise, false. The to compare with the current . The parameter is null.2 Serves as a hash function for a Entity. A hash code for the current . 2 Set which type this subclass extends. Note: This doesn't actually get output into the XML, it's instead used as a marker for the to pair things up. Represents the "Any" mapping in NHibernate. It is impossible to specify a foreign key constraint for this kind of association. For more information please reference chapter 5.2.4 in the NHibernate online documentation Sets the meta-type value for this any mapping. Meta type Sets the meta-type value for this any mapping. Meta type Sets the meta-type value for this any mapping. Meta type Defines how NHibernate will access the object for persisting/hydrating (Defaults to Property) Cascade style (Defaults to none) Access strategy mapping builder. Access strategy mapping builder. Sets the access-strategy to property. Sets the access-strategy to field. Sets the access-strategy to use the backing-field of an auto-property. Sets the access-strategy to readonly. Sets the access-strategy to field and the naming-strategy to camelcase (field.camelcase). Sets the access-strategy to field and the naming-strategy to camelcase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to field and the naming-strategy to lowercase. Sets the access-strategy to field and the naming-strategy to lowercase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to field and the naming-strategy to pascalcase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to read-only property (nosetter) and the naming-strategy to camelcase. Sets the access-strategy to read-only property (nosetter) and the naming-strategy to camelcase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to read-only property (nosetter) and the naming-strategy to lowercase. Sets the access-strategy to read-only property (nosetter) and the naming-strategy to lowercase. Naming-strategy prefix Sets the access-strategy to read-only property (nosetter) and the naming-strategy to pascalcase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to use the type referenced. Assembly qualified name of the type to use as the access-strategy Sets the access-strategy to use the type referenced. Type to use as the access-strategy Sets the access-strategy to use the type referenced. Type to use as the access-strategy Force NHibernate to always select using the discriminator value, even when selecting all subclasses. This can be useful when your table contains more discriminator values than you have classes (legacy). Sets the "force" attribute. Set this discriminator as read-only. Call this if your discriminator column is also part of a mapped composite identifier. Sets the "insert" attribute. An arbitrary SQL expression that is executed when a type has to be evaluated. Allows content-based discrimination. SQL expression Sets the precision for decimals Decimal precision Specifies the scale for decimals Decimal scale Specify the column length Column length Specify the nullability of this column Specifies the uniqueness of this column Specifies the unique key constraint name Constraint columns Specifies the index name Index name Specifies a check constraint name Constraint name Specifies the default value for the discriminator Default value Specifies a custom type for the discriminator This is often used with Custom type Specifies a custom type for the discriminator This is often used with Custom type Specifies a custom type for the discriminator This is often used with Custom type Invert the next boolean operation Pre-defined discriminator values Null discriminator value Non-null discriminator value Specify the element column name Column name Specify the element type Element type Specify the element column length Column length Specify the element column formula Formula Modify the columns for this element Sets caching to read-write Sets caching to non-strict read-write Sets caching to read-only Sets caching to transactional Specifies a custom cache behaviour Custom behaviour Specifies the cache region Include all properties for caching Include only non-lazy properties for caching Specify a custom property inclusion strategy Inclusion strategy Base class for user type conventions. Create a subclass of this to automatically map all properties that the user type can be used against. Override Accept or Apply to alter the behavior. IUserType implementation Base class for attribute based conventions. Create a subclass of this to supply your own attribute based conventions. Attribute identifier Apply changes to a property with an attribute matching T. Instance of attribute found on property. Property with attribute Cascade all actions Cascade no actions Cascade saves and updates Cascade deletes Cascade all actions, deleting any orphaned records Cascade deletes, deleting any orphaned records Map a property Dictionary key Map("Age"); Map a property Dictionary key Property type Map<int>("Age"); Join fetching Select fetching Subselect/subquery fetching Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Thrown when a prefix is specified for an access-strategy that isn't supported. Naming strategy prefix. Property is never database generated Property is only generated on insert Property is always database generated Checks a list of components for validity. Entity type Type of list element Persistence specification Property Value to save Equality comparer Converts an expression to a best guess SQL string Converts a Func expression to a best guess SQL string Converts a boolean Func expression to a best guess SQL string Gets the value of a method call. Method call expression Specify an alternative name for the type Alternative name Used to set the Not-Found attribute to ignore. This tells NHibernate to return a null object rather then throw an exception when the join fails Used to set the Not-Found attribute to exception (Nhibernate default). This tells NHibernate to throw an exception when the join fails Specifies the child class Child Specifies the child class Child Specifies that this relationship should be created with a default-named foreign-key Specify the foreign-key constraint name Foreign-key constraint Sets the property reference Property Sets the property reference Property Specifies that this relationship is constrained Specify the lazy behaviour of this relationship. Defaults to Proxy lazy-loading. Use the modifier to disable lazy-loading, and use the overload to specify alternative lazy strategies. LazyLoad(); Not.LazyLoad(); Specify the lazy behaviour of this relationship. Cannot be used with the modifier. Laziness strategy LazyLoad(Laziness.NoProxy); Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Sets the fetch behaviour for this relationship Fetch.Select(); Sets the cascade behaviour for this relationship Cascade.All(); Specifies the access strategy for this relationship Access.Field(); Inverts the next boolean operation No optimistic locking Version locking Dirty locking Lock on everything Use no locking strategy Use version locking Use dirty locking Use all locking This method is used to set a different key column in this table to be used for joins. The output is set as the property-ref attribute in the "key" subelement of the collection The name of the column in this table which is linked to the foreign key OneToManyPart Specify the lazy-load behaviour Specify extra lazy loading Inverse the ownership of this entity. Make the other side of the relationship responsible for saving. Use a set collection Use a set collection Sorting Use a set collection Item comparer Use a bag collection Use a list collection Use a list collection with an index Index mapping Use a map collection Index type Index property Use a map collection Index type Index property Sorting Use a map collection Index column name Use a map collection Index column name Sorting Use a map collection Index type Index column name Use a map collection Index type Index column name Sorting Use a map collection Index type Comparer Index column name Use a map collection Index type Index property Index mapping Use a map collection Index type Index property Index mapping Sorting Use a map collection Index type Index mapping Element mapping Use an array Index type Index property Use an array Index type Index property Index mapping Make this collection indexed Index type Index property Index mapping Make this collection index Index type Index column Index mapping Map an element/value type Column name Map an element/value type Column name Custom mapping Maps this collection as a collection of components. Component mapping Sets the table name for this one-to-many. Table name Specify that the deletes should be cascaded Specify a custom persister Persister Specify a check constraint Constraint name Specify that this collection is generic (optional) Sets the where clause for this one-to-many relationship. Note: This only supports simple cases, use the string overload for more complex clauses. Sets the where clause for this one-to-many relationship. Specify the select batch size Batch size Sets a custom collection type Sets a custom collection type Sets a custom collection type Sets a custom collection type Specify the table schema Schema name Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Applies a filter to this entity given it's name. Applies a filter to this entity given it's name. The filter's name The condition to apply Applies a filter to this entity given it's name. Applies a filter to this entity given it's name. The filter's name Applies a named filter to this one-to-many. Applies a named filter to this one-to-many. The condition to apply The type of a implementation defining the filter to apply. Applies a named filter to this one-to-many. The type of a implementation defining the filter to apply. Specify caching for this entity. Specify the cascade behaviour Specify the fetching behaviour Set the access and naming strategy for this one-to-many. Specify the optimistic locking behaviour Inverts the next boolean operation Access strategy mapping builder. Mapping part to be applied to Access strategy mapping builder. Instance of the parent mapping part. Setter for altering the model Sets the access-strategy to property. Sets the access-strategy to field. Sets the access-strategy to use the backing-field of an auto-property. Sets the access-strategy to readonly. Sets the access-strategy to field and the naming-strategy to camelcase (field.camelcase). Sets the access-strategy to field and the naming-strategy to camelcase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to field and the naming-strategy to lowercase. Sets the access-strategy to field and the naming-strategy to lowercase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to field and the naming-strategy to pascalcase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to read-only property (nosetter) and the naming-strategy to camelcase. Sets the access-strategy to read-only property (nosetter) and the naming-strategy to camelcase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to read-only property (nosetter) and the naming-strategy to lowercase. Sets the access-strategy to read-only property (nosetter) and the naming-strategy to lowercase. Naming-strategy prefix Sets the access-strategy to read-only property (nosetter) and the naming-strategy to pascalcase, with the specified prefix. Naming-strategy prefix Sets the access-strategy to use the type referenced. Assembly qualified name of the type to use as the access-strategy Sets the access-strategy to use the type referenced. Type to use as the access-strategy Sets the access-strategy to use the type referenced. Type to use as the access-strategy Specify the lazy-load behaviour Component-element for component HasMany's. Component type Map a property Property Map(x => x.Age); Map a property Property Column name Map(x => x.Age, "person_age"); Create a reference to another entity. In database terms, this is a many-to-one relationship. Other entity Property on the current entity References(x => x.Company); Create a reference to another entity. In database terms, this is a many-to-one relationship. Other entity Property on the current entity Column name References(x => x.Company, "person_company_id"); Maps a property of the component class as a reference back to the containing entity Parent reference property Component being mapped Create a nested component mapping. Component property Action for creating the component HasMany(x => x.Locations) .Component(c => { c.Map(x => x.Name); c.Component(x => x.Address, addr => { addr.Map(x => x.Street); addr.Map(x => x.PostCode); }); }); generates identifiers of any integral type that are unique only when no other process is inserting data into the same table. Do not use in a cluster. generates identifiers of any integral type that are unique only when no other process is inserting data into the same table. Do not use in a cluster. Params configuration supports identity columns in DB2, MySQL, MS SQL Server and Sybase. The identifier returned by the database is converted to the property type using Convert.ChangeType. Any integral property type is thus supported. supports identity columns in DB2, MySQL, MS SQL Server and Sybase. The identifier returned by the database is converted to the property type using Convert.ChangeType. Any integral property type is thus supported. Params configuration uses a sequence in DB2, PostgreSQL, Oracle or a generator in Firebird. The identifier returned by the database is converted to the property type using Convert.ChangeType. Any integral property type is thus supported. uses a sequence in DB2, PostgreSQL, Oracle or a generator in Firebird. The identifier returned by the database is converted to the property type using Convert.ChangeType. Any integral property type is thus supported. Params configuration uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value The table. The column. The max lo. The where. uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value Params configuration uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value uses a hi/lo algorithm to efficiently generate identifiers of any integral type, given a table and column (by default hibernate_unique_key and next_hi respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database. Do not use this generator with a user-supplied connection. requires a "special" database table to hold the next available "hi" value Params configuration uses an Oracle-style sequence (where supported) uses an Oracle-style sequence (where supported) Params configuration uses System.Guid and its ToString(string format) method to generate identifiers of type string. The length of the string returned depends on the configured format. http://msdn.microsoft.com/en-us/library/97af8hh4.aspx uses System.Guid and its ToString(string format) method to generate identifiers of type string. The length of the string returned depends on the configured format. http://msdn.microsoft.com/en-us/library/97af8hh4.aspx Params configuration uses a new System.Guid to create a byte[] that is converted to a string. uses a new System.Guid to create a byte[] that is converted to a string. Params configuration uses a new System.Guid as the identifier. uses a new System.Guid as the identifier. Params configuration Recommended for Guid identifiers! uses the algorithm to generate a new System.Guid described by Jimmy Nilsson in the article http://www.informit.com/articles/article.asp?p=25862. Recommended for Guid identifiers! uses the algorithm to generate a new System.Guid described by Jimmy Nilsson in the article http://www.informit.com/articles/article.asp?p=25862. Params configuration lets the application to assign an identifier to the object before Save() is called. lets the application to assign an identifier to the object before Save() is called. Params configuration picks identity, sequence or hilo depending upon the capabilities of the underlying database. picks identity, sequence or hilo depending upon the capabilities of the underlying database. Params configuration picks identity, sequence or hilo depending upon the capabilities of the underlying database. picks identity, sequence or hilo depending upon the capabilities of the underlying database. uses the identifier of another associated object. Usually used in conjunction with a one-to-one primary key association. uses the identifier of another associated object. Usually used in conjunction with a one-to-one primary key association. Params configuration Generator that uses the RDBMS native function to generate a GUID. The behavior is similar to the “sequence” generator. When a new object is saved NH run two queries: the first to retrieve the GUID value and the second to insert the entity using the Guid retrieved from the RDBMS. Your entity Id must be System.Guid and the SQLType will depend on the dialect (RAW(16) in Oracle, UniqueIdentifier in MsSQL for example). Generator that uses the RDBMS native function to generate a GUID. The behavior is similar to the “sequence” generator. When a new object is saved NH run two queries: the first to retrieve the GUID value and the second to insert the entity using the Guid retrieved from the RDBMS. Your entity Id must be System.Guid and the SQLType will depend on the dialect (RAW(16) in Oracle, UniqueIdentifier in MsSQL for example). GuidNative(x => { x.AddParam("key", "value"); }); Parameter builder closure A deviation of the trigger-identity. This generator works together with the feature. The difference with trigger-identity is that the POID value is retrieved by a SELECT using the natural-id fields as filter. A deviation of the trigger-identity. This generator works together with the feature. The difference with trigger-identity is that the POID value is retrieved by a SELECT using the natural-id fields as filter. Select(x => { x.AddParam("key", "value"); }); Parameter builder closure Based on sequence but works like an identity. The POID value is retrieved with an INSERT query. Your entity Id must be an integral type. "hibernate_sequence" is the default name for the sequence, unless another is provided. Based on sequence but works like an identity. The POID value is retrieved with an INSERT query. Your entity Id must be an integral type. "hibernate_sequence" is the default name for the sequence, unless another is provided. Custom sequence name Based on sequence but works like an identity. The POID value is retrieved with an INSERT query. Your entity Id must be an integral type. "hibernate_sequence" is the default name for the sequence, unless another is provided. Parameter builder closure Based on sequence but works like an identity. The POID value is retrieved with an INSERT query. Your entity Id must be an integral type. "hibernate_sequence" is the default name for the sequence, unless another is provided. Custom sequence name Parameter builder closure trigger-identity is a NHibernate specific feature where the POID is generated by the RDBMS with an INSERT query through a BEFORE INSERT trigger. In this case you can use any supported type, including a custom type, with the limitation of a single column usage. trigger-identity is a NHibernate specific feature where the POID is generated by the RDBMS with an INSERT query through a BEFORE INSERT trigger. In this case you can use any supported type, including a custom type, with the limitation of a single column usage. Parameter builder closure Sets the unsaved-value of the identity. Value that represents an unsaved value. Sets the column name for the identity field. Column name Specify the identity column length Column length Specify the decimal precision Decimal precision Specify the decimal scale Decimal scale Specify the nullability of the identity column Specify the uniqueness of the identity column Specify a unique key constraint Constraint columns Specify a custom SQL type SQL type Specify an index name Index name Specify a check constraint Constraint name Specify a default value Default value Specify a custom type This is usually used with an Custom type Specify a custom type This is usually used with an Custom type Specify a custom type This is usually used with an Custom type Specify the generator Id(x => x.PersonId) .GeneratedBy.Assigned(); Set the access and naming strategy for this identity. Invert the next boolean operation Sets a single child key column. If there are multiple columns, use ChildKeyColumns.Add Sets a single parent key column. If there are multiple columns, use ParentKeyColumns.Add Sets the order-by clause on the collection element. Sets the order-by clause on the many-to-many element. Applies a filter to the child element of this entity given it's name. Applies a filter to the child element of this entity given it's name. The filter's name The condition to apply Applies a filter to the child element of this entity given it's name. Applies a filter to the child element of this entity given it's name. The filter's name Applies a named filter to the child element of this many-to-many. Applies a named filter to the child element of this many-to-many. The condition to apply The type of a implementation defining the filter to apply. Applies a named filter to the child element of this many-to-many. The type of a implementation defining the filter to apply. Sets the where clause for this relationship, on the many-to-many element. Sets whether this relationship is unique Unique(); Not.Unique(); Specifies the name of a multi-column unique constraint. Name of constraint Specifies the index name Index name Specifies the child class of this relationship Child Specifies the child class of this relationship Child Sets this relationship to read-only This is the same as calling both Not.Insert() and Not.Update() ReadOnly(); Not.ReadOnly(); Specify the lazy behaviour of this relationship. Defaults to Proxy lazy-loading. Use the modifier to disable lazy-loading, and use the overload to specify alternative lazy strategies. LazyLoad(); Not.LazyLoad(); Specify the lazy behaviour of this relationship. Cannot be used with the modifier. Laziness strategy LazyLoad(Laziness.NoProxy); Specifies this relationship should be created with a default-named foreign key. Specifies the foreign-key constraint name Constraint name Specifies that this relationship is insertable Specifies that this relationship is updatable Sets the single column used in this relationship. Use if you need to specify more than one column. Column name Specifies the columns used in this relationship Columns Specifies the columns used in this relationship Columns Specifies the sql formula used for this relationship Formula Specifies the property reference Property Specifies the property reference Property Sets this relationship to nullable Nullable(); Not.Nullable(); Specifies an entity-name. See http://nhforge.org/blogs/nhibernate/archive/2008/10/21/entity-name-in-action-a-strongly-typed-entity.aspx Set the fetching strategy Fetch.Select(); Set the behaviour for when this relationship is null in the database NotFound.Exception(); Specifies the cascade behaviour for this relationship Cascade.All(); Specifies the access strategy for this relationship Access.Field(); Inverts the next boolean Specify that this is a ternary association Specify that this is a ternary association Index column Specify this as an entity map Specify this as an entity map Index column Specify the key column name Column name Specify a foreign key constraint Constraint name Sets the order-by clause for this one-to-many relationship. Specify that this collection is read-only Specify a sub-select query for fetching this collection Query Specify that the key is updatable Specify that the key is nullable Specifies the behaviour for if this collection is not found Specify the cascade behaviour Modify the key columns collection Specify the property column name Column name Specify that this property is insertable Specify that this property is updatable Specify the column length Column length Specify the nullability of this property Specify that this property is read-only Specify the property formula Formula Specify the lazy-loading behaviour Specify an index name Index name Specifies that a custom type (an implementation of ) should be used for this property for mapping it to/from one or more database columns whose format or type doesn't match this .NET property. A type which implements . This property mapping to continue the method chain Specifies that a custom type (an implementation of ) should be used for this property for mapping it to/from one or more database columns whose format or type doesn't match this .NET property. A type which implements . This property mapping to continue the method chain Specifies that a custom type (an implementation of ) should be used for this property for mapping it to/from one or more database columns whose format or type doesn't match this .NET property. A type which implements . This property mapping to continue the method chain Specifies that a custom type (an implementation of ) should be used for this property for mapping it to/from one or more database columns whose format or type doesn't match this .NET property. A function which returns a type which implements . The argument of the function is the mapped property type This property mapping to continue the method chain Specify a custom SQL type SQL type Specify that this property has a unique constranit Specify decimal precision Decimal precision Specify decimal scale Decimal scale Specify a default value Default value Specifies the name of a multi-column unique constraint. Name of constraint Specify that this property is optimistically locked Specify a check constraint Constraint name Specify if this property is database generated Generated.Insert(); Modify the columns collection Set the access and naming strategy for this property. Inverts the next boolean Specify the column name Column name Specify the unsaved value Unsaved value Specify the column length Column length Specify decimal precision Decimal precision Specify decimal scale Decimal scale Specify the nullability of the column Specify the uniqueness of the column Specify a unique key constraint Constraint columns Specify an index name Index name Specify a check constraint Constraint name Specify a default value Default value Specify a custom type Usually used with an Custom type Specify a custom type Usually used with an Custom type Specify a custom type Usually used with an Custom type Specify a custom SQL type SQL type Specify if this version is database generated Specify the access strategy Invert the next boolean operation Returns whether the user has set a value for a property. Returns whether the user has set a value for a property. Returns whether a property has any value, default or user specified. Reveals a hidden property or field for use instead of expressions. Entity type Name of property or field Expression for the hidden property or field Reveals a hidden property or field with a specific return type for use instead of expressions. Entity type Property or field return type Name of property or field Expression for the hidden property or field Visitor that performs validation against the mapping model. Gets or sets whether validation is performed.