diff --git a/Lib/Antlr3.Runtime.dll b/Lib/Antlr3.Runtime.dll new file mode 100644 index 0000000..fb3ac4e Binary files /dev/null and b/Lib/Antlr3.Runtime.dll differ diff --git a/Lib/Iesi.Collections.dll b/Lib/Iesi.Collections.dll index 32f2332..5658af7 100644 Binary files a/Lib/Iesi.Collections.dll and b/Lib/Iesi.Collections.dll differ diff --git a/Lib/LinFu.DynamicProxy.dll b/Lib/LinFu.DynamicProxy.dll index 2222522..8cc3fad 100644 Binary files a/Lib/LinFu.DynamicProxy.dll and b/Lib/LinFu.DynamicProxy.dll differ diff --git a/Lib/NHibernate.ByteCode.LinFu.dll b/Lib/NHibernate.ByteCode.LinFu.dll index 971aaf1..666dd66 100644 Binary files a/Lib/NHibernate.ByteCode.LinFu.dll and b/Lib/NHibernate.ByteCode.LinFu.dll differ diff --git a/Lib/NHibernate.Linq.dll b/Lib/NHibernate.Linq.dll deleted file mode 100644 index 99bb60b..0000000 Binary files a/Lib/NHibernate.Linq.dll and /dev/null differ diff --git a/Lib/NHibernate.Linq.xml b/Lib/NHibernate.Linq.xml deleted file mode 100644 index 7fc5d35..0000000 --- a/Lib/NHibernate.Linq.xml +++ /dev/null @@ -1,725 +0,0 @@ - - - - NHibernate.Linq - - - - - Extended node types for custom expressions - - - - - Associates a method with a corresponding SQL function. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name of the schema that owns the SQL function. - - - - Gets or sets the name of the schema that owns the SQL function. - - - - - Gets or sets the position of the function parameter that accepts the property name. - - - - - Provides static methods that represent functionality provided by MS SQL Server. - - - - - Returns an integer representing the day datepart of the specified date. - - - - - - - - Returns an integer representing the day datepart of the specified date. - - - - - - - - Returns an integer that represents the month part of a specified date. - - - - - - - - Returns an integer that represents the month part of a specified date. - - - - - - - - Returns an integer that represents the year part of a specified date. - - - - - - - - Returns an integer that represents the year part of a specified date. - - - - - - - - Returns the ASCII code value of the leftmost character of a character expression. - - - - - - - - Returns the ASCII code value of the leftmost character of a character expression. - - - - - - - - Returns the ASCII code value of the leftmost character of a character expression. - - - - - - - - Converts an int ASCII code to a character. - - - - - - - - Converts an int ASCII code to a character. - - - - - - - - Returns the starting position of the specified expression in a character string. - - - - - - - - - Returns the starting position of the specified expression in a character string. - - - - - - - - - - Returns the starting position of the specified expression in a character string. - - - - - - - - - Returns the starting position of the specified expression in a character string. - - - - - - - - - - Returns the left part of a character string with the specified number of characters. - - - - - - - - - Returns the number of characters of the specified string expression, excluding trailing blanks. - - - - - - - - Returns a character expression after converting uppercase character data to lowercase. - - - - - - - - Returns a character expression after it removes leading blanks. - - - - - - - - Replaces all occurrences of a specified string value with another string value. - - - - - - - - - - Repeats a string value a specified number of times. - - - - - - - - - Returns the reverse of a character expression. - - - - - - - - Returns the right part of a character string with the specified number of characters. - - - - - - - - - Returns a character string after truncating all trailing blanks. - - - - - - - - Returns part of a character, binary, text, or image expression. - - - - - - - - - - Returns a character expression with lowercase character data converted to uppercase. - - - - - - - - Transforms critieria query results into a collection of grouped objects. - - - - - Initializes a new instance of the class. - - A representing the type of collection to transform. - The name of the property to be used as a key for the purpose of grouping. - - - - Transforms the query result collection. - - An of objects. - A transformed object. - - - - Transforms each query result. - - An array of query result values. - A array of column aliases. - An initialized with the values from the specified tuple. - - - - Provides a method for adding individual objects to a collection of grouped objects. - - - - - Adds an object to the current group. - - The to add. - - - - Represents a collection of objects that have a common key. - - - - - - - Initializes a new instance of the class. - - - - - - Adds an object to the current group. - - The to add. - - - - Returns an enumerator that iterates through the collection. - - An that can be used to iterate through the collection. - - - - Returns an enumerator that iterates through the collection. - - An that can be used to iterate through the collection. - - - - Returns a that represents the current . - - A that represents the current . - - - - Gets the key of the . - - - - - Sets the value of the field or property represented by the specified - for the supplied object instance. - - A object. - An instance of an object. - The value to set on the specified object. - - - - Provides static utility methods that aid in evaluating expression trees. - - - - - Creates a collection of type T by invoking a delegate method during - enumeration that return each item, begining with an initialValue. - - The type of collection being created. - A delegate method to invoke. - The first item in the collection. - An collection of type T. - - - - Returns an with the specified - and whose value is equivalent to the specified object. - - An that implements the interface. - A . - An object whose is conversionType and whose value is equivalent - to value, or null, if value is null and conversionType is not a value type. - - - - Determines if the specified type is a type. - - A to check. - True if the type is a type, otherwise false. - - - - Determines if the specified type is an anonymous type. - - A to check. - True if the type is an anonymous type, otherwise false. - - - - Encodes an for use in SQL statements. - - The value to encode. - A SQL encoded value. - - - - http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx - - - - - Preprocesses an expression tree replacing MemberAccessExpressions and ParameterExpressions with - NHibernate-specific PropertyAccessExpressions and EntityExpressions respectively. - - - - - Provides virtual methods that can be used by subclasses to parse an expression tree. - - - This class actually already exists in the System.Core assembly...as an internal class. - I can only speculate as to why it is internal, but it is obviously much too dangerous - for anyone outside of Microsoft to be using... - - - - - Preprocesses an expression tree replacing binary boolean expressions with unary expressions. - - - - - Represents a method that returns an - object that compares one property to another property using a binary expression. - - The name of the property to compare on the left hand side of the expression. - The name of the property to compare on the right hand side of the expression. - An initialized object. - - - - Represents a method that returns an - object that compares a property to a constant value using a binary expression. - - The name of the property to compare on the left hand side of the expression. - The constant value used for the right hand side of the expression. - An initialized object. - - - - Represents a method that returns an - object that compares a value to a criteria using a binary expression. - - The value on the left hand side of the expression. - The used for the right hand side of the expression. - An initialized object. - - - - Represents a method that returns an - object that compares a property to a criteria using a binary expression. - - The name of the property to compare on the left hand side of the expression. - The used for the right hand side of the expression. - An initialized object. - - - - Visits a BinaryExpression providing the appropriate NHibernate ICriterion. - - - - - NHibernate-specific base expression visitor. - - - - - Preprocesses an expression tree ordering binary expressions in accordance with the . - - - - - Assigns the appropriate aliases to a collection access. - - - - - Retrieves the first (or root) instance of EntityExpression found in the given Expression. - - - - - - - - Performs bottom-up analysis to determine which nodes can possibly - be part of an evaluated sub-tree. - - - - - Visits an expression tree providing the appropriate projections for grouping arguments. - - - - - Visits any expression calls that require immediate results. - - - - - Visits an expression providing the member name being accessed based on the EntityExpressions and - PropertyAccessExpressions in the expression tree. Any entity associations encountered are added - as subcriteria to the query. - - - - - Translates a Linq Expression into an NHibernate ICriteria object. - - - - - Converts calls to an IEnumerable.Count property to IEnumerable.Count() extension method. - - - - - Translates a Linq Expression into an NHibernate ICriteria object. - - - - - Provides the appropriate NHibernate selection projections and/or IResultTransformers - based on a given expression tree. - - - - - Adds the appropriate subcriteria to the query based on a SelectMany expression tree. - - - - - Provides ICriterion for a query given a Linq expression tree. - - - - - Gets the current collection of objects. - - - - - Wraps an ICriteria object providing results when necessary. - - - - - - Marker interface used to conditionally include database provider specific methods. - - - - - Wraps an object to provide base functionality - for custom, database-specific context classes. - - - - - Provides access to database provider specific methods. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - An initialized object. - - - - Allows for empty construction but provides an interface for an interface to have the derived - classes provide a session object late in the cycle. - - The Required object. - - - - Creates a new object that is a copy of the current instance. - - - - - - Disposes the wrapped object. - - - - - Adds the reference to collection. - - The target resource. - Name of the property. - The resource to be added. - - - - Clears the changes. - - - - - Creates the resource. - - Name of the container. - Full name of the type. - Newly created Resource - - - - Deletes the resource. - - The target resource. - - - - Gets the resource. - - The query. - Full name of the type. - - - - - Gets the value. - - The target resource. - Name of the property. - - - - - Removes the reference from collection. - - The target resource. - Name of the property. - The resource to be removed. - - - - Replaces the resource. - - The resource to reset. - - - - - Resolves the resource. - - The resource. - - - - - Saves the changes. - - - - - Sets the reference. - - The target resource. - Name of the property. - The property value. - - - - Sets the value. - - The target resource. - Name of the property. - The property value. - - - - Gets a reference to the associated with this object. - - - - - Gets the update cache. - - The update cache. - - - - Provides a static method that enables LINQ syntax for NHibernate Criteria Queries. - - - - - Creates a new object used to evaluate an expression tree. - - An NHibernate entity type. - An initialized object. - An used to evaluate an expression tree. - - - - Generic IQueryProvider base class. See http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx - - - - - Generic IQueryable base class. See http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx - - - - - It provides methods for caching the results, and some extension methods for them. - - - - diff --git a/Lib/NHibernate.dll b/Lib/NHibernate.dll index f8b0bc2..6edb878 100644 Binary files a/Lib/NHibernate.dll and b/Lib/NHibernate.dll differ diff --git a/Lib/NHibernate.xml b/Lib/NHibernate.xml index a9e6f2e..29aaff5 100644 --- a/Lib/NHibernate.xml +++ b/Lib/NHibernate.xml @@ -22,22 +22,21 @@ Execute this action - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes - What spaces (tables) are affected by this action? + + + Get the before-transaction-completion process, if any, for this action. + + + + + Get the after-transaction-completion process, if any, for this action. + + Create an action that will evict collection and entity regions based on queryspaces (table names). @@ -61,18 +60,7 @@ Called before executing any actions - Execute this action - - - - Do we need to retain this instance until after the transaction completes? - - - False if this class defines a no-op has after transaction completion. - - - - Called after the transaction completes + Execute this action @@ -169,6 +157,27 @@ The entity persister. + + + Delegate representing some process that needs to occur before transaction completion. + + + NH specific: C# does not support dynamic interface proxies so a delegate is used in + place of the Hibernate interface (see Action/BeforeTransactionCompletionProcess). The + delegate omits the parameter as it is not used. + + + + + Delegate representing some process that needs to occur after transaction completion. + + Did the transaction complete successfully? True means it did. + + NH specific: C# does not support dynamic interface proxies so a delegate is used in + place of the Hibernate interface (see Action/AfterTransactionCompletionProcess). The + delegate omits the parameter as it is not used. + + Format an SQL statement using simple rules: a) Insert newline after each comma; @@ -332,6 +341,17 @@ s it can have are followed. + + + Expand the parameters of the cmd to have a single parameter for each parameter in the + sql string + + + This is for databases that do not support named parameters. So, instead of a single parameter + for 'select ... from MyTable t where t.Col1 = @p0 and t.Col2 = @p0' we can issue + 'select ... from MyTable t where t.Col1 = ? and t.Col2 = ?' + + Must be called when an exception occurs. @@ -1093,6 +1113,11 @@ , disabling reflection optimization. + + + Marker interface, denoting a client-visible "soft lock" on a cached item. + + A cached instance of a persistent class @@ -1197,7 +1222,7 @@ This method is used by "synchronous" concurrency strategies. - + Called when we have finished the attempted update/delete (which may or may not have been successful), after transaction completion. @@ -1207,7 +1232,7 @@ This method is used by "asynchronous" concurrency strategies. - + Called after an item has been updated (after the transaction completes), instead of calling Release(). @@ -1307,13 +1332,13 @@ decrement a lock and put it back in the cache - + Re-cache the updated state, if and only if there there are no other concurrent soft locks. Release our lock. - + Is the client's lock commensurate with the item in the cache? If it is not, we know that the cache expired the original @@ -1461,11 +1486,6 @@ This class was named Lock in H2.1 - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - Increment the lock, setting the @@ -1757,12 +1777,12 @@ Do nothing - + Invalidate the item (again, for safety). - + Invalidate the item (again, for safety). @@ -1796,12 +1816,12 @@ Unsupported! - + Unsupported! - + Unsupported! @@ -1916,32 +1936,6 @@ XPath expression for session-factory.listener nodes - - - Convert a string to . - - The string that represent . - - The converted to . - for invalid values. - - - See for allowed values. - - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - Convert a string to . @@ -1968,23 +1962,6 @@ See for allowed values. - - - Values for class-cache and collection-cache strategy. - - - - Xml value: read-only - - - Xml value: read-write - - - Xml value: nonstrict-read-write - - - Xml value: transactional - Values for class-cache include. @@ -2002,7 +1979,7 @@ Configuration parsed values for a class-cache XML node. - + Initializes a new instance of the class. @@ -2010,7 +1987,7 @@ Cache strategy. When is null or empty. - + Initializes a new instance of the class. @@ -2019,7 +1996,7 @@ Values for class-cache include. When is null or empty. - + Initializes a new instance of the class. @@ -2028,7 +2005,7 @@ The cache region. When is null or empty. - + Initializes a new instance of the class. @@ -2068,7 +2045,7 @@ Configuration parsed values for a collection-cache XML node. - + Initializes a new instance of the class. @@ -2076,7 +2053,7 @@ Cache strategy. When is null or empty. - + Initializes a new instance of the class. @@ -2232,46 +2209,177 @@ Configuration parsed values for a session-factory XML node. + + + The session factory name. + + + + + Session factory propeties bag. + + + + + Session factory mapping configuration. + + + + + Session factory class-cache configurations. + + + + + Session factory collection-cache configurations. + + + + + Session factory event configurations. + + + + + Session factory listener configurations. + + + + + The session factory name. + + + + + Session factory propeties bag. + + + + + Session factory mapping configuration. + + + + + Session factory class-cache configurations. + + + + + Session factory collection-cache configurations. + + + + + Session factory event configurations. + + + + + Session factory listener configurations. + + Initializes a new instance of the class. The session factory name. Null or empty string are allowed. - + + + Add a type-definition for mappings. + + The peristent type. + The where add the type-definition. + The custom configuration action. + The . + + + + + Depending on where you will use the type-definition in the mapping the + can be : + + + + + + + + + + + + + + + + + + + - The session factory name. + Define the dialect to use. + + The dialect implementation inherited from . + The fluent configuration itself. + + + + Maximum depth of outer join fetching + + + 0 (zero) disable the usage of OuterJoinFetching + + + + + Set the SessionFactory mnemonic name. + + The mnemonic name. + The fluent configuration itself. + + The SessionFactory mnemonic name can be used as a surrogate key in a multi-DB application. + + + + + DataBase integration configuration. - + - Session factory propeties bag. + Cache configuration. - + - Session factory mapping configuration. + Properties of TypeDef configuration. + + + + + + The key to use the type-definition inside not strongly typed mappings (XML mapping). - + - Session factory class-cache configurations. - - - - - Session factory collection-cache configurations. - - - - - Session factory event configurations. - - - - - Session factory listener configurations. + An which public properties are used as + type-definition pareneters or null where type-definition does not need parameters or you want use default values. + + + As an anonimous object can be used: + + configure.TypeDefinition<TableHiLoGenerator>(c=> + { + c.Alias = "HighLow"; + c.Properties = new {max_lo = 99}; + }); + + + @@ -2288,6 +2396,11 @@ + + + Implemented by any mapping elemes supports simple and/or multicolumn mapping. + + @@ -2411,6 +2524,15 @@ + + + The relation of the element of the collection. + + + Can be one of: HbmCompositeElement, HbmElement, HbmManyToAny, HbmManyToMany, HbmOneToMany... + according to the type of the collection. + + @@ -2663,6 +2785,9 @@ + + + @@ -2750,6 +2875,11 @@ + + + Columns and Formulas, in declared order + + @@ -5434,34 +5564,42 @@ - + Called for all collections. parameter was added in NH to allow for reflection related to generic types. - + Called for arrays and primitive arrays - + Called for Maps - + Called for all collections + + + Bind columns and formulas in the order in which they were mapped. + + + + + Extracts the names of classes mapped in a given file, and the names of the classes they extend. - + Returns a collection of containing information about all classes in this stream. @@ -5491,9 +5629,6 @@ - - The XML Namespace for the nhibernate-mapping - Default name for hibernate configuration file. @@ -5584,6 +5719,13 @@ The NamedXmlDocument that contains the validated mapping XML file. + + + Add mapping data using deserialized class. + + Mapping metadata. + XML file's name where available; otherwise null. + Create a new to add classes and collection @@ -5627,7 +5769,7 @@ - Adds the mappings from ebedded resources of the assembly. + Adds the mappings from embedded resources of the assembly. Paths to the resource files in the assembly. The assembly that contains the resource files. @@ -5900,6 +6042,12 @@ Listeners of must implements one of the interface of event listenesr. + + + Append the listeners to the end of the currently configured + listeners + + Generate DDL for altering tables @@ -6077,6 +6225,48 @@ + + + Values for class-cache and collection-cache strategy. + + + + Xml value: read-only + + + Xml value: read-write + + + Xml value: nonstrict-read-write + + + Xml value: transactional + + + + Helper to parse to and from XML string value. + + + + + Convert a in its xml expected value. + + The to convert. + The . + + + + Convert a string to . + + The string that represent . + + The converted to . + + If the values is invalid. + + See for allowed values. + + Provides access to configuration information. @@ -6444,6 +6634,11 @@ Settings that affect the behavior of NHibernate at runtime. + + + Get the registry to provide Hql-Generators for known properties/methods. + + Reads configuration properties and configures a instance. @@ -7822,10 +8017,16 @@ Provides a current session - for each . + for each System.Web.HttpContext. Works only with Web Applications. + + + This class allows access to the HttpContext without referring to HttpContext at compile time. + The accessors are cached as delegates for performance. + + A impl which scopes the notion of current @@ -7865,12 +8066,503 @@ Gets or sets the currently bound session. + + + Provides a current session + for the current OperationContext in WCF. Works only during the lifetime of a WCF operation. + + Provides a current session - for each . Works only with web applications. + for each System.Web.HttpContext. Works only with web applications. + + + Constructed with property name + + + + + Apply a "between" constraint to the named property + + + + + Apply an "in" constraint to the named property + + + + + Apply an "in" constraint to the named property + + + + + Apply an "in" constraint to the named property + + + + + A case-insensitive "like", similar to Postgres "ilike" operator + + + + + A case-insensitive "like", similar to Postgres "ilike" operator + + + + + Apply a "like" constraint to the named property + + + + + Apply a "like" constraint to the named property + + + + + Apply a "like" constraint to the named property + + + + + Apply an "is empty" constraint to the named property + + + + + Apply a "not is empty" constraint to the named property + + + + + Apply an "is null" constraint to the named property + + + + + Apply an "not is null" constraint to the named property + + + + + Constructed with property name + + + + + Add a property equal subquery criterion + + detached subquery + + + + Add a property equal all subquery criterion + + detached subquery + + + + Create a property greater than or equal subquery criterion + + detached subquery + + + + Create a property greater than or equal all subquery criterion + + detached subquery + + + + Create a property greater than or equal some subquery criterion + + detached subquery + + + + Create a property greater than subquery criterion + + detached subquery + + + + Create a property greater than all subquery criterion + + detached subquery + + + + Create a property greater than some subquery criterion + + detached subquery + + + + Create a property in subquery criterion + + detached subquery + + + + Create a property less than or equal subquery criterion + + detached subquery + + + + Create a property less than or equal all subquery criterion + + detached subquery + + + + Create a property less than or equal some subquery criterion + + detached subquery + + + + Create a property less than subquery criterion + + detached subquery + + + + Create a property less than all subquery criterion + + detached subquery + + + + Create a property less than some subquery criterion + + detached subquery + + + + Create a property not equal subquery criterion + + detached subquery + + + + Create a property not in subquery criterion + + detached subquery + + + + Create an alias for the previous projection + + + + + Select an arbitrary projection + + + + + A property average value + + + + + A property average value + + + + + A property value count + + + + + A property value count + + + + + A distinct property value count + + + + + A distinct property value count + + + + + A grouping property value + + + + + A grouping property value + + + + + A property maximum value + + + + + A property maximum value + + + + + A property minimum value + + + + + A property minimum value + + + + + A projected property value + + + + + A projected property value + + + + + A property value sum + + + + + A property value sum + + + + + Constructed with property name + + + + + Apply a "between" constraint to the named property + + + + + Apply an "in" constraint to the named property + + + + + Apply an "in" constraint to the named property + + + + + Apply an "in" constraint to the named property + + + + + A case-insensitive "like", similar to Postgres "ilike" operator + + + + + A case-insensitive "like", similar to Postgres "ilike" operator + + + + + Apply a "like" constraint to the named property + + + + + Apply a "like" constraint to the named property + + + + + Apply a "like" constraint to the named property + + + + + Apply an "is empty" constraint to the named property + + + + + Apply a "not is empty" constraint to the named property + + + + + Apply an "is null" constraint to the named property + + + + + Apply an "not is null" constraint to the named property + + + + + Add an Exists subquery criterion + + + + + Add a NotExists subquery criterion + + + + + Subquery expression in the format + .Where(t => t.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) + + + + + Subquery expression in the format + .Where(() => alias.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) + + + + + Subquery expression in the format + .WhereAll(t => t.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) + + + + + Subquery expression in the format + .WhereAll(() => alias.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) + + + + + Subquery expression in the format + .WhereSome(t => t.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) + + + + + Subquery expression in the format + .WhereSome(() => alias.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) + + + + + Add a property equal subquery criterion + + detached subquery + + + + Add a property equal all subquery criterion + + detached subquery + + + + Create a property greater than or equal subquery criterion + + detached subquery + + + + Create a property greater than or equal all subquery criterion + + detached subquery + + + + Create a property greater than or equal some subquery criterion + + detached subquery + + + + Create a property greater than subquery criterion + + detached subquery + + + + Create a property greater than all subquery criterion + + detached subquery + + + + Create a property greater than some subquery criterion + + detached subquery + + + + Create a property in subquery criterion + + detached subquery + + + + Create a property less than or equal subquery criterion + + detached subquery + + + + Create a property less than or equal all subquery criterion + + detached subquery + + + + Create a property less than or equal some subquery criterion + + detached subquery + + + + Create a property less than subquery criterion + + detached subquery + + + + Create a property less than all subquery criterion + + detached subquery + + + + Create a property less than some subquery criterion + + detached subquery + + + + Create a property not equal subquery criterion + + detached subquery + + + + Create a property not in subquery criterion + + detached subquery + Base class for implementations. @@ -7947,18 +8639,6 @@ http://steve.emxsoftware.com/NET/Overloading+the++and++operators - - - See here for details: - http://steve.emxsoftware.com/NET/Overloading+the++and++operators - - - - - See here for details: - http://steve.emxsoftware.com/NET/Overloading+the++and++operators - - An Aggregation @@ -7969,6 +8649,11 @@ A single-column projection that may be aliased + + + An "enhanced" Projection for a query. + + Render the SQL Fragment. @@ -8043,6 +8728,29 @@ Does this projection specify aggregate attributes? + + + Get the SQL column aliases used by this projection for the columns it writes for inclusion into the + SELECT clause . NHibernate always uses column aliases + to extract data from the , so it is important that these be implemented + correctly in order for NHibernate to be able to extract these values correctly. + + Just as in , represents the number of columns rendered prior to this projection. + The local criteria to which this project is attached (for resolution). + The overall criteria query instance. + The columns aliases. + + + + Get the SQL column aliases used by this projection for the columns it writes for inclusion into the + SELECT clause () for a particular criteria-level alias. + + The criteria-level alias. + Just as in , represents the number of columns rendered prior to this projection. + The local criteria to which this project is attached (for resolution). + The overall criteria query instance. + The columns aliases. + Gets the typed values for parameters in this projection @@ -8144,9 +8852,9 @@ Initializes a new instance of the class. - The _projection. - The _lo. - The _hi. + The _projection. + The _lo. + The _hi. @@ -8157,9 +8865,6 @@ The low value for the BetweenExpression. The high value for the BetweenExpression. - - - Casting a value from one type to another, at the database @@ -8188,6 +8893,18 @@ This instance. + + + Adds an to the list of s + to junction together. + + + + + Adds an to the list of s + to junction together. + + Get the Sql operator to put between multiple s. @@ -9010,6 +9727,50 @@ a dictionary from property names to values + + + Create an ICriterion for the supplied LambdaExpression + + generic type + lambda expression + return NHibernate.Criterion.ICriterion + + + + Create an ICriterion for the supplied LambdaExpression + + lambda expression + return NHibernate.Criterion.ICriterion + + + + Create an ICriterion for the negation of the supplied LambdaExpression + + generic type + lambda expression + return NHibernate.Criterion.ICriterion + + + + Create an ICriterion for the negation of the supplied LambdaExpression + + lambda expression + return NHibernate.Criterion.ICriterion + + + + Build an ICriterion for the given property + + lambda expression identifying property + returns LambdaRestrictionBuilder + + + + Build an ICriterion for the given property + + lambda expression identifying property + returns LambdaRestrictionBuilder + Apply a constraint expressed in SQL, with the given SQL parameters @@ -9146,22 +9907,25 @@ - Get the names of the columns mapped by a property path, ignoring projection aliases + Get the name of the column mapped by a property path, ignoring projection alias + + + Get the names of the columns mapped by a property path, ignoring projection aliases - Get the type of a property path, ignoring projection aliases + Get the type of a property path, ignoring projection aliases - Get the names of the columns mapped by a property path + Get the names of the columns mapped by a property path - Get the type of a property path + Get the type of a property path - Get the a typed value for the given property value. + Get the a typed value for the given property value. - Get the entity name of an entity + Get the entity name of an entity @@ -9170,7 +9934,7 @@ - Get the root table alias of an entity + Get the root table alias of an entity @@ -9179,18 +9943,18 @@ - Get the property name, given a possibly qualified property name + Get the property name, given a possibly qualified property name - Get the identifier column names of this entity + Get the identifier column names of this entity - Get the identifier type of this entity + Get the identifier type of this entity - + - When adding values to the query string it is imperative that they are reported via this function back to the query builder. - Do not report the same item multiple times as it will be assumed to be a separate parameter. + Creates a dummy parameter index for the supplied paged value. + Returns null if the Dialect does not support limit parameters @@ -9200,7 +9964,7 @@ - An that constrains the property + An that constrains the property to a specified list of values. @@ -9212,17 +9976,7 @@ Initializes a new instance of the class. The projection. - The _values. - - - - - - - - - - + The _values. @@ -9253,9 +10007,6 @@ The name of the Property in the class. The value for the Property. - - - An that represents empty association constraint. @@ -9312,7 +10063,7 @@ An that represents an "like" constraint. - The case sensitivity depends on the database settings for string + The case sensitivity depends on the database settings for string comparisons. Use if the string comparison should not be case sensitive. @@ -9536,20 +10287,9 @@ Represents an order imposed upon a result set. - - - - Constructor for Order. - - - - - - - Constructor for Order. - - - + + Should Order implement ICriteriaQuery? + @@ -9828,6 +10568,94 @@ The when false. + + + A property average value + + + + + A property average value + + + + + A property value count + + + + + A property value count + + + + + A distinct property value count + + + + + A distinct property value count + + + + + A grouping property value + + + + + A grouping property value + + + + + A property maximum value + + + + + A property maximum value + + + + + A property minimum value + + + + + A property minimum value + + + + + A projected property value + + + + + A projected property value + + + + + A property value sum + + + + + A property value sum + + + + + Create an alias for a projection + + the projection instance + LambdaExpression returning an alias + return NHibernate.Criterion.IProjection + A factory for property-specific AbstractCriterion and projection instances @@ -9849,6 +10677,625 @@ result of a subquery + + + QueryOver<TRoot> is an API for retrieving entities by composing + objects expressed using Lambda expression syntax. + + + + IList<Cat> cats = session.QueryOver<Cat>() + .Where( c => c.Name == "Tigger" ) + .And( c => c.Weight > minWeight ) ) + .List(); + + + + + + Access the underlying ICriteria + + + + + Access the root underlying ICriteria + + + + + Get the results of the root type and fill the + + The list filled with the results. + + + + Get the results of the root type and fill the + + The list filled with the results. + + + + Clones the QueryOver, removes orders and paging, and projects the row-count + for the query + + + + + Clones the QueryOver, removes orders and paging, and projects the row-count (Int64) + for the query + + + + + Short for ToRowCountQuery().SingleOrDefault<int>() + + + + + Short for ToRowCountInt64Query().SingleOrDefault<long>() + + + + + Convenience method to return a single instance that matches + the query, or null if the query returns no results. + + the single result or + + If there is more than one matching result + + + + + Override type of . + + + + + Get a enumerable that when enumerated will execute + a batch of queries in a single database roundtrip + + + + + Get a enumerable that when enumerated will execute + a batch of queries in a single database roundtrip + + + + + Get an IFutureValue instance, whose value can be retrieved through + its Value property. The query is not executed until the Value property + is retrieved, which will execute other Future queries as well in a + single roundtrip + + + + + Get an IFutureValue instance, whose value can be retrieved through + its Value property. The query is not executed until the Value property + is retrieved, which will execute other Future queries as well in a + single roundtrip + + + + + Creates an exact clone of the IQueryOver + + + + + Clear all orders from the query. + + + + + Set the first result to be retrieved + + + + + + Set a limit upon the number of objects to be retrieved + + + + + + Enable caching of this query result set + + + + Override the cache mode for this particular query. + The cache mode to use. + this (for method chaining) + + + + Set the name of the cache region. + + the name of a query cache region, or + for the default query cache + + + + Get an executable instance of IQueryOver<TRoot>, + to actually run the query. + + + + Get an executable instance of IQueryOver<TRoot>, + to actually run the query. + + + + Clones the QueryOver, clears the orders and paging, and projects the RowCount + + + + + + Clones the QueryOver, clears the orders and paging, and projects the RowCount (Int64) + + + + + + Creates an exact clone of the QueryOver + + + + + Method to allow comparison of detached query in Lambda expression + e.g., p => p.Name == myQuery.As<string> + + type returned (projected) by query + throws an exception if evaluated directly at runtime. + + + + Implementation of the interface + + + + + QueryOver<TRoot,TSubType> is an API for retrieving entities by composing + objects expressed using Lambda expression syntax. + + + + IList<Cat> cats = session.QueryOver<Cat>() + .Where( c => c.Name == "Tigger" ) + .And( c => c.Weight > minWeight ) ) + .List(); + + + + + + Add criterion expressed as a lambda expression + + Lambda expression + criteria instance + + + + Add criterion expressed as a lambda expression + + Lambda expression + criteria instance + + + + Add arbitrary ICriterion (e.g., to allow protected member access) + + + + + Add negation of criterion expressed as a lambda expression + + Lambda expression + criteria instance + + + + Add negation of criterion expressed as a lambda expression + + Lambda expression + criteria instance + + + + Add restriction to a property + + Lambda expression containing path to property + criteria instance + + + + Add restriction to a property + + Lambda expression containing path to property + criteria instance + + + + Identical semantics to And() to allow more readable queries + + Lambda expression + criteria instance + + + + Identical semantics to And() to allow more readable queries + + Lambda expression + criteria instance + + + + Add arbitrary ICriterion (e.g., to allow protected member access) + + + + + Identical semantics to AndNot() to allow more readable queries + + Lambda expression + criteria instance + + + + Identical semantics to AndNot() to allow more readable queries + + Lambda expression + criteria instance + + + + Identical semantics to AndRestrictionOn() to allow more readable queries + + Lambda expression + criteria instance + + + + Identical semantics to AndRestrictionOn() to allow more readable queries + + Lambda expression + criteria instance + + + + Add projection expressed as a lambda expression + + Lambda expressions + criteria instance + + + + Add arbitrary IProjections to query + + + + + Create a list of projections using a projection builder + + + + + Add order expressed as a lambda expression + + Lambda expression + criteria instance + + + + Add order expressed as a lambda expression + + Lambda expression + criteria instance + + + + Order by arbitrary IProjection (e.g., to allow protected member access) + + + + + Add order for an aliased projection expressed as a lambda expression + + Lambda expression + criteria instance + + + + Add order expressed as a lambda expression + + Lambda expression + criteria instance + + + + Add order expressed as a lambda expression + + Lambda expression + criteria instance + + + + Order by arbitrary IProjection (e.g., to allow protected member access) + + + + + Add order for an aliased projection expressed as a lambda expression + + Lambda expression + criteria instance + + + + Transform the results using the supplied IResultTransformer + + + + + Specify an association fetching strategy. Currently, only + one-to-many and one-to-one associations are supported. + + A lambda expression path (e.g., ChildList[0].Granchildren[0].Pets). + + + + + Set the lock mode of the current entity + + + + + Set the lock mode of the aliased entity + + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + + Type of sub-criteria + Lambda expression returning association path + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + + Type of sub-criteria + Lambda expression returning association path + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + + Type of sub-criteria + Lambda expression returning association path + Lambda expression returning alias reference + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + + Type of sub-criteria + Lambda expression returning association path + Lambda expression returning alias reference + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + + Type of sub-criteria + Lambda expression returning association path + Type of join + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + + Type of sub-criteria + Lambda expression returning association path + Type of join + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + + Type of sub-criteria + Lambda expression returning association path + Lambda expression returning alias reference + Type of join + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + + Type of sub-criteria + Lambda expression returning association path + Lambda expression returning alias reference + Type of join + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + specifying a collection for the join. + + Type of sub-criteria (type of the collection) + Lambda expression returning association path + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + specifying a collection for the join. + + Type of sub-criteria (type of the collection) + Lambda expression returning association path + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + specifying a collection for the join. + + Type of sub-criteria (type of the collection) + Lambda expression returning association path + Lambda expression returning alias reference + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + specifying a collection for the join. + + Type of sub-criteria (type of the collection) + Lambda expression returning association path + Lambda expression returning alias reference + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + specifying a collection for the join. + + Type of sub-criteria (type of the collection) + Lambda expression returning association path + Type of join + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + specifying a collection for the join. + + Type of sub-criteria (type of the collection) + Lambda expression returning association path + Type of join + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + specifying a collection for the join. + + Type of sub-criteria (type of the collection) + Lambda expression returning association path + Lambda expression returning alias reference + Type of join + The created "sub criteria" + + + + Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity + specifying a collection for the join. + + Type of sub-criteria (type of the collection) + Lambda expression returning association path + Lambda expression returning alias reference + Type of join + The created "sub criteria" + + + + Join an association, assigning an alias to the joined entity + + Lambda expression returning association path + Lambda expression returning alias reference + criteria instance + + + + Join an association, assigning an alias to the joined entity + + Lambda expression returning association path + Lambda expression returning alias reference + criteria instance + + + + Join an association, assigning an alias to the joined entity + + Lambda expression returning association path + Lambda expression returning alias reference + Type of join + criteria instance + + + + Join an association, assigning an alias to the joined entity + + Lambda expression returning association path + Lambda expression returning alias reference + Type of join + criteria instance + + + + Add a subquery expression + + + + + Apply a "like" restriction in a QueryOver expression + Note: throws an exception outside of a QueryOver expression + + + + + Apply a "like" restriction in a QueryOver expression + Note: throws an exception outside of a QueryOver expression + + + + + Apply a "like" restriction in a QueryOver expression + Note: throws an exception outside of a QueryOver expression + + + + + Apply a "like" restriction in a QueryOver expression + Note: throws an exception outside of a QueryOver expression + + + + + Apply a "like" restriction in a QueryOver expression + Note: throws an exception outside of a QueryOver expression + + + + + Apply an "in" constraint to the named property + Note: throws an exception outside of a QueryOver expression + + + + + Apply an "in" constraint to the named property + Note: throws an exception outside of a QueryOver expression + + + + + Apply a "between" constraint to the named property + Note: throws an exception outside of a QueryOver expression + + A comparison between a property value in the outer query and the @@ -9876,9 +11323,6 @@ A SqlString that contains a valid Sql fragment. - - - Gets the named Property for the Expression. @@ -9912,9 +11356,6 @@ write a correct . - - - A SQL fragment. The string {alias} will be replaced by the alias of the root entity. @@ -9937,6 +11378,83 @@ AbstractCriterion + + + Create a ICriterion for the specified property subquery expression + + generic type + lambda expression + returns LambdaSubqueryBuilder + + + + Create a ICriterion for the specified property subquery expression + + lambda expression + returns LambdaSubqueryBuilder + + + + Create a ICriterion for the specified value subquery expression + + value + returns LambdaSubqueryBuilder + + + + Create ICriterion for subquery expression using lambda syntax + + type of property + lambda expression + NHibernate.ICriterion.AbstractCriterion + + + + Create ICriterion for (exact) subquery expression using lambda syntax + + lambda expression + NHibernate.ICriterion.AbstractCriterion + + + + Create ICriterion for (all) subquery expression using lambda syntax + + type of property + lambda expression + NHibernate.ICriterion.AbstractCriterion + + + + Create ICriterion for (all) subquery expression using lambda syntax + + lambda expression + NHibernate.ICriterion.AbstractCriterion + + + + Create ICriterion for (some) subquery expression using lambda syntax + + type of property + lambda expression + NHibernate.ICriterion.AbstractCriterion + + + + Create ICriterion for (some) subquery expression using lambda syntax + + lambda expression + NHibernate.ICriterion.AbstractCriterion + + + + Add an Exists subquery criterion + + + + + Add a NotExists subquery criterion + + A property value, or grouped property value @@ -10084,288 +11602,6 @@ ANSI-SQL style cast(foo as type) where the type is a NHibernate type - - - Delegate the values to a real type - - - The real return type of Cast is know only after the Cast is parsed. - This class was created in NH to remove the responsibility of the parser about know the - real return type. - - - - - Defines a mapping from a .NET to a SQL datatype. - This interface is intended to be implemented by applications that need custom types. - - Implementors should usually be immutable and MUST definately be threadsafe. - - - - Return a cacheable "disassembled" representation of the object. - the value to cache - the session - optional parent entity object (needed for collections) - the disassembled, deep cloned state - - - Reconstruct the object from its cached "disassembled" state. - the disassembled state from the cache - the session - the parent entity object - the the object - - - - Called before assembling a query result set from the query cache, to allow batch fetching - of entities missing from the second-level cache. - - - - - When implemented by a class, returns the SqlTypes for the columns mapped by this IType. - The that uses this IType.An array of s. - - - - When implemented by a class, returns how many columns are used to persist this type. - The that uses this IType.The number of columns this IType spans.MappingException - - - - When implemented by a class, should the parent be considered dirty, - given both the old and current field or element value? - The old valueThe current valueThe true if the field is dirty - - - - When implemented by a class, gets an instance of the object mapped by - this IType from the . - The that contains the values - The names of the columns in the that contain the - value to populate the IType with. - The object mapped by this IType. - Implementors should handle possibility of null values. - - - - - When implemented by a class, gets an instance of the object - mapped by this IType from the . - The that contains the valuesThe name of the column in the that contains the - value to populate the IType with.The object mapped by this IType. - Implementations should handle possibility of null values. - This method might be called if the IType is known to be a single-column type. - - - - - When implemented by a class, puts the value/values from the mapped - class into the . - The to put the values into.The object that contains the values.The index of the to start writing the values to.Indicates which columns are to be set. - Implementors should handle possibility of null values. - A multi-column type should be written to parameters starting from . - - - - - When implemented by a class, puts the value/values from the mapped - class into the . - - The to put the values into. - The object that contains the values. - The index of the to start writing the values to. - - Implementors should handle possibility of null values. - A multi-column type should be written to parameters starting from . - - - - - When implemented by a class, a representation of the value to be - embedded in an XML element - The object that contains the values.An Xml formatted string. - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldThe entityMode.The session factory.A deep copy of the object. - - - - When implemented by a class, retrieves an instance of the mapped class, - or the identifier of an entity or collection from a . - The that contains the values. - The names of the columns in the that contain the - value to populate the IType with. - the sessionThe parent EntityAn identifier or actual object mapped by this IType. - - This is useful for 2-phase property initialization - the second phase is a call to - ResolveIdentifier() - - - Most implementors of this method will just pass the call to NullSafeGet(). - - - - - - When implemented by a class, maps identifiers to Entities or Collections. - An identifier or value returned by Hydrate()The sessionThe parent EntityThe Entity or Collection referenced by this Identifier. - This is the second phase of 2-phase property initialization. - - - - - Given a hydrated, but unresolved value, return a value that may be used to - reconstruct property-ref associations. - - - - - - - - During merge, replace the existing (target) value in the entity we are merging to - with a new (original) value from the detached entity we are merging. For immutable - objects, or null values, it is safe to simply return the first parameter. For - mutable objects, it is safe to return a copy of the first parameter. For objects - with component values, it might make sense to recursively replace component values. - - the value from the detached entity being merged - the value in the managed entity - - - - - the value to be merged - - - - Compare two instances of the class mapped by this type for persistence - "equality" - equality of persistent state - taking a shortcut for - entity references. - - - - - boolean - - - - Compare two instances of the class mapped by this type for persistence - "equality" - equality of persistent state. - - - - - boolean - - - - Compare two instances of the class mapped by this type for persistence - "equality" - equality of persistent state. - - - - - - boolean - - - Get a hashcode, consistent with persistence "equality" - - - - - Get a hashcode, consistent with persistence "equality" - - - - - - compare two instances of the type - - - - - - Get the type of a semi-resolved value. - - - A representation of the value to be embedded in an XML element. - - - - - - Parse the XML representation of an instance. - - - an instance of the type - - - - Given an instance of the type, return an array of boolean, indicating - which mapped columns would be null. - - an instance of the type - - - - - When implemented by a class, gets the abbreviated name of the type. - The NHibernate type name. - - - - When implemented by a class, gets the returned - by the NullSafeGet() methods. - - The from the .NET framework. - - This is used to establish the class of an array of this Itype - - - - - When implemented by a class, gets the value indicating if the objects - of this IType are mutable. - true if the objects mapped by this IType are mutable. - With respect to the referencing object... - Entities and Collections are considered immutable because they manage their own internal state. - - - - - When implemented by a class, gets a value indicating if the implementor is castable to an an - true if this is an AssociationThis does not necessarily imply that the type actually represents an association. - - - - When implemented by a class, gets a value indicating if the implementor is a collection type - true if this is a . - - - - When implemented by a class, gets a value indicating if the implementor - is an . - true if this is an - If true, the implementation must be castable to . - A component type may own collections or associations and hence must provide certain extra functionality. - - - - - When implemented by a class, gets a value indicating if the implementor - extends - true if this is an - - - - Emulation of locate() on Sybase @@ -11148,6 +12384,18 @@ The boolean value The appropriate SQL literal. + + + Add a LIMIT clause to the given SQL SELECT + when the dialect supports variable limits (i.e. parameters for the limit constraints) + + The to base the limit query off. + Offset of the first row to be returned by the query (zero-based) + Maximum number of rows to be returned by the query + Optionally, the Offset parameter index + Optionally, the Limit parameter index + A new that contains the LIMIT clause. + Add a LIMIT clause to the given SQL SELECT @@ -11831,6 +13079,22 @@ Comes into play whenever the user specifies the "identity" generator. + + + Supports splitting batches using GO T-SQL command + + + Batches http://msdn.microsoft.com/en-us/library/ms175502.aspx + + + + + This specialized string tokenizier will break a string to tokens, taking + into account single quotes, parenthesis and commas and [ ] + Notice that we aren't differenciating between [ ) and ( ] on purpose, it would complicate + the code and it is not legal at any rate. + + Defines a contract for implementations that can extract the name of a violated @@ -11856,13 +13120,16 @@ - + Add a LIMIT clause to the given SQL SELECT A Query in the form of a SqlString. - Offset of the first row is not zero - A new SqlString that contains the LIMIT clause. + Offset of the first row to be returned by the query (zero-based) + Maximum number of rows to be returned by the query + Optionally, the Offset parameter index + Optionally, the Limit parameter index + A new that contains the LIMIT clause. @@ -12416,30 +13683,18 @@ false, unless overridden - + Add a LIMIT clause to the given SQL SELECT - The to base the limit query off of. + The to base the limit query off. Offset of the first row to be returned by the query (zero-based) - Maximum number of rows to be returned by the query + Maximum number of rows to be returned by the query + Optionally, the Offset parameter index + Optionally, the Limit parameter index A new with the LIMIT clause applied. - The LIMIT SQL will look like - - - SELECT - TOP last (columns) - FROM - (SELECT (columns), ROW_NUMBER() OVER(ORDER BY {original order by, with un-aliased column names) as __hibernate_sort_row - {original from}) as query - WHERE query.__hibernate_sort_row > offset - ORDER BY query.__hibernate_sort_row - - - - Note that we need to add explicitly specify the columns, because we need to be able to use them - in a paged subselect. NH-1155 + Note that we need to explicitly specify the columns, because we need to be able to use them in a paged subselect [NH-1155] @@ -12471,14 +13726,6 @@ false - - - This specialized string tokenizier will break a string to tokens, taking - into account single quotes, parenthesis and commas and [ ] - Notice that we aren't differenciating between [ ) and ( ] on purpose, it would complicate - the code and it is not legal at any rate. - - An SQL dialect compatible with Microsoft SQL Server 7. @@ -12527,13 +13774,16 @@ - + - + Add a LIMIT clause to the given SQL SELECT - - - + The to base the limit query off. + Offset of the first row to be returned by the query (zero-based) + Maximum number of rows to be returned by the query + Optionally, the Offset parameter index + Optionally, the Limit parameter index + A new that contains the LIMIT clause. @@ -12556,6 +13806,22 @@ The name of the index to drop. The SQL string to drop the index constraint. + + + Suclasses register a typename for the given type code, to be used in CAST() + statements. + + The typecode + The database type name + + + + Get the name of the database type appropriate for casting operations + (via the CAST() SQL function) for the given typecode. + + The typecode + The database type name + @@ -12699,13 +13965,16 @@ - + - + Add a LIMIT clause to the given SQL SELECT - - Offset of the first row to process in the result set is non-zero - + The to base the limit query off. + Offset of the first row to be returned by the query (zero-based) + Maximum number of rows to be returned by the query + Optionally, the Offset parameter index + Optionally, the Limit parameter index + A new that contains the LIMIT clause. PostgreSQL requires to cast NULL values to correctly handle UNION/UNION ALL @@ -12801,194 +14070,374 @@ Offset of the first row to process in the result set A new SqlString that contains the LIMIT clause. - + - This is a subclass of SybaseDialect for sybase 11 databases (specifically tested against 11.9.2). 11.9.2 does not support ANSI JOINs - therefore we have to provide a special join fragment for left/right joins (*= and =* respectively). - - - - - An SQL dialect compatible with Sybase. + An SQL dialect for Sybase Adaptive Server Anywhere 9.0

This dialect probably will not work with schema-export. If anyone out there can fill in the ctor with DbTypes to Strings that would be helpful.

- The SybaseDialect defaults the following configuration properties: + The dialect defaults the following configuration properties: - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - + + Property + Default Value + + + connection.driver_class + + + + prepare_sql + +
- + - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - + - - - - - - - - - - - - - - - - - - - - - - - - This class is basically a port of the hibernate 3.2 Sybase 11 join fragment. It uses concepts from that join fragment and the Oracle join fragment in NHibernate - - - - - Represents a SQL JOIN - - - - - An SQL dialect compatible with Sybase. - - -

- This dialect probably will not work with schema-export. If anyone out there - can fill in the ctor with DbTypes to Strings that would be helpful. -

- The SybaseDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - Sybase does not support quoted aliases, this function thus returns - aliasName as is. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An SQL dialect for Sybase Adaptive Server Anywhere 9.0/10.0 - - -

- This dialect probably will not work with schema-export. If anyone out there - can fill in the ctor with DbTypes to Strings that would be helpful. -

- The SybaseAnywhereDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - - - - - + ASA does not require to drop constraint before dropping tables, and DROP statement - syntax used by Hibernate to drop constraint is not compatible with ASA, so disable it. + syntax used by Hibernate to drop constraint is not compatible with ASA, so disable it. Comments matchs SybaseAnywhereDialect from Hibernate-3.1 src + + + SQL Dialect for SQL Anywhere 10 - for the NHibernate 3.0.0 distribution + Copyright (C) 2010 Glenn Paulley + Contact: http://iablog.sybase.com/paulley + + This NHibernate dialect should be considered BETA software. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + + The dialect defaults the following configuration properties: + + + Property + Default Value + + + connection.driver_class + + + + prepare_sql + + + + + + + + SQL Anywhere 11 uses SELECT TOP n START AT m [ select list items ] + for LIMIT/OFFSET support. + + Produce a parametertized SQL query using positional parameters for + TOP and START AT (if specified). + + + + + SQL Anywhere 11 uses SELECT TOP n START AT m [ select list items ] + for LIMIT/OFFSET support. + + Generate SELECT TOP n START AT m syntax using bound parameters + SQL Anywhere constraints: n > 0, m >= 0 + + + + + SQL Anywhere 10 supports READ, WRITE, and INTENT row + locks. INTENT locks are sufficient to ensure that other + concurrent connections cannot modify a row (though other + connections can still read that row). SQL Anywhere also + supports 3 modes of snapshot isolation (multi-version + concurrency control (MVCC). + + SQL Anywhere's FOR UPDATE clause supports + FOR UPDATE BY [ LOCK | VALUES ] + FOR UPDATE OF ( COLUMN LIST ) + + though they cannot be specified at the same time. BY LOCK is + the syntax that acquires INTENT locks. FOR UPDATE BY VALUES + forces the use of the KEYSET cursor, which returns a warning to + the application when a row in the cursor has been subsequently + modified by another connection, and an error if the row has + been deleted. + + SQL Anywhere does not support the FOR UPDATE NOWAIT syntax of + Oracle on a statement-by-statement basis. However, the + identical functionality is provided by setting the connection + option BLOCKING to "OFF", or setting an appropriate timeout + period through the connection option BLOCKING_TIMEOUT. + + + + + SQL Anywhere 10 does not perform a COMMIT upon creation of + a temporary table. However, it does perform an implicit + COMMIT when creating an index over a temporary table, or + upon ALTERing the definition of temporary table. + + + + + SQL Anywhere does support OUT parameters with callable stored procedures. + + + + + SQL Anywhere uses DEFAULT AUTOINCREMENT to identify an IDENTITY + column in a CREATE TABLE statement. + + + + + SQL Anywhere supports a query statement that provides LIMIT + functionality. + + true + + + + SQL Anywhere supports a query statement that provides LIMIT + functionality with an offset. + + true + + + + Can parameters be used for a statement containing a LIMIT? + + + + + SQL Anywhere syntax is SELECT TOP n START AT m + + + + + SQL Anywhere 11 uses SELECT TOP n START AT m [ select list items ] + for LIMIT/OFFSET support. + + + + + SQL Anywhere does support FOR UPDATE OF syntax. However, + in SQL Anywhere one cannot specify both FOR UPDATE OF syntax + and FOR UPDATE BY LOCK in the same statement. To achieve INTENT + locking when using FOR UPDATE OF syntax one must use a table hint + in the query's FROM clause, ie. + + SELECT * FROM FOO WITH( UPDLOCK ) FOR UPDATE OF ( column-list ). + + In this dialect, we avoid this issue by supporting only + FOR UPDATE BY LOCK. + + + + + SQL Anywhere supports FOR UPDATE over cursors containing + outer joins. + + + + + Lock rows in the cursor explicitly using INTENT row locks. + + + + + Enforce the condition that this query is read-only. This ensure that certain + query rewrite optimizations, such as join elimination, can be used. + + + + + Lock rows in the cursor explicitly using INTENT row locks. + + + + + SQL Anywhere does not support FOR UPDATE NOWAIT. However, the intent + is to acquire pessimistic locks on the underlying rows; with NHibernate + one can accomplish this through setting the BLOCKING connection option. + Hence, with this API we lock rows in the cursor explicitly using INTENT row locks. + + + + + We assume that applications using this dialect are NOT using + SQL Anywhere's snapshot isolation modes. + + + + + We assume that applications using this dialect are NOT using + SQL Anywhere's snapshot isolation modes. + + + + + SQL Anywhere supports both double quotes or '[' (Microsoft syntax) for + quoted identifiers. + + Note that quoted identifiers are controlled through + the QUOTED_IDENTIFIER connection option. + + + + + SQL Anywhere supports both double quotes or '[' (Microsoft syntax) for + quoted identifiers. + + + + + SQL Anywhere Does not support empty IN lists. + + + + + SQL Anywhere's implementation of KEYSET-DRIVEN cursors does not + permit absolute postioning. With jConnect as the driver, this support + will succeed because jConnect FETCHes the entire result set to the client + first; it will fail with the iAnywhere JDBC driver. Because the server + may decide to use a KEYSET cursor even if the cursor is declared as + FORWARD ONLY, this support is disabled. + + + + + SQL Anywhere does not support an EXISTS clause within a + SELECT list. + + + + + By default, the SQL Anywhere dbinit utility creates a + case-insensitive database for the CHAR collation. This can + be changed through the use of the -c command line switch on + dbinit, and the setting may differ for the NCHAR collation + for national character sets. Whether or not a database + supports case-sensitive comparisons can be determined via + the DB_Extended_property() function, for example + + SELECT DB_EXTENDED_PROPERTY( 'Collation', 'CaseSensitivity'); + + + + + SQL Anywhere supports COMMENT ON statements for a wide variety of + database objects. When the COMMENT statement is executed an implicit + COMMIT is performed. However, COMMENT syntax for CREATE TABLE, as + expected by NHibernate (see Table.cs), is not supported. + + + + + SQL Anywhere does not require qualification of index names. + + + + + SQL Anywhere currently supports only "VALUES (DEFAULT)", not + the ANSI standard "DEFAULT VALUES". This latter syntax will be + supported in the SQL Anywhere 11.0.1 release. For the moment, + "VALUES (DEFAULT)" works only for a single-column table. + + + + + SQL Anywhere does not require dropping a constraint before + dropping a table, and the DROP statement syntax used by Hibernate + to drop a constraint is not compatible with SQL Anywhere, so disable it. + + + + + In SQL Anywhere, the syntax + + DECLARE LOCAL TEMPORARY TABLE ... + + can also be used, which creates a temporary table with procedure scope, + which may be important for stored procedures. + + + + + Assume that temporary table rows should be preserved across COMMITs. + + + + + SQL Anywhere does support query expressions containing UNION ALL. + + + + + SQL Dialect for SQL Anywhere 11 - for the NHibernate 3.0.0 distribution + Copyright (C) 2010 Glenn Paulley + Contact: http://iablog.sybase.com/paulley + + This NHibernate dialect should be considered BETA software. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + + The dialect defaults the following configuration properties: + + + Property + Default Value + + + connection.driver_class + + + + prepare_sql + + + + + This class maps a DbType to names. @@ -13129,6 +14578,17 @@ The SqlType to set for IDbDataParameter. An IDbDataParameter ready to be added to an IDbCommand. + + + Expand the parameters of the cmd to have a single parameter for each parameter in the + sql string + + + This is for databases that do not support named parameters. So, instead of a single parameter + for 'select ... from MyTable t where t.Col1 = @p0 and t.Col2 = @p0' we can issue + 'select ... from MyTable t where t.Col1 = ? and t.Col2 = ?' + + Does this Driver support having more than 1 open IDataReader with @@ -13252,6 +14712,17 @@ Connection type name. Command type name. + + + Initializes a new instance of with + type names that are loaded from the specified assembly. + + The Invariant name of a provider. + Assembly to load the types from. + Connection type name. + Command type name. + + Initializes a new instance of the class. @@ -13295,6 +14766,30 @@ iAnywhere.Data.AsaClient use the string.Empty to locate parameters in sql. + + + NHibernate driver for the Community CsharpSqlite data provider. +

+ Author: Nikolaos Tountas +

+
+ +

+ In order to use this Driver you must have the Community.CsharpSqlite.dll and Community.CsharpSqlite.SQLiteClient assemblies referenced. +

+

+ Please check http://code.google.com/p/csharp-sqlite/ for more information regarding csharp-sqlite. +

+
+
+ + + Initializes a new instance of . + + + Thrown when the Community.CsharpSqlite.dll assembly can not be loaded. + + A NHibernate Driver for using the IBM.Data.DB2.iSeries DataProvider. @@ -14261,68 +15756,6 @@ created for Yukon because it is supposed to support it. - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - - - - The SybaseClientDriver Driver provides a database driver for Sybase. - - - It has been reported to work with the . - - - - - Initializes a new instance of the class. - - - Thrown when the Sybase.Data.AseClient assembly can not be loaded. - - - - - Sybase.Data.AseClient uses named parameters in the sql. - - - Sybase uses @ in the sql. - - - - - - - Sybase.Data.AseClient use the @ to locate parameters in sql. - - @ is used to locate parameters in sql. - Represents state associated with the processing of a given @@ -14485,6 +15918,13 @@ True if we currently hold state pertaining to loading collections; false otherwise. + + + Do we currently have any registered internal entries corresponding to loading + collections? + True if we currently hold state pertaining to a registered loading collections; false otherwise. + + Represents a collection currently being loaded. @@ -14769,6 +16209,11 @@ Prepares the internal action queues for execution. + + + Execute any registered + + Performs cleanup of any held cache softlocks. @@ -16328,6 +17773,14 @@ + + + Execute a List() expression query + + + + + Strongly-typed version of @@ -17559,12 +19012,12 @@ The evict event to be handled. - - An event that occurs for each entity instance at flush time + + An event that occurs for each entity instance at flush time - + Flushes a single entity's state to the database, by scheduling an update action, if necessary @@ -17578,7 +19031,7 @@ The entity mode. - + Performs all necessary checking to determine if an entity needs an SQL update to synchronize its state to the database. Modifies the event by side-effect! Note: this method is quite slow, avoid calling if possible! @@ -18664,137 +20117,6 @@ The entity name for the instance to be removed. the instance to be removed - - - Execute a query - - A query expressed in Hibernate's query language - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding a value to a "?" parameter in the query string. - - The query string - A value to be bound to a "?" placeholder - The Hibernate type of the value - A distinct list of instances - See for implications of cache usage. - - - - Execute a query, binding an array of values to a "?" parameters in the query string. - - The query string - An array of values to be bound to the "?" placeholders - An array of Hibernate types of the values - A distinct list of instances - See for implications of cache usage. - - - - Execute a query and return the results in an interator. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - An enumerator - - - - Execute a query and return the results in an interator, - binding a value to a "?" parameter in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A value to be written to a "?" placeholder in the query string - The hibernate type of the value - An enumerator - - - - Execute a query and return the results in an interator, - binding the values to "?"s parameters in the query string. - - - - If the query has multiple return values, values will be returned in an array of - type object[]. - - - Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. So Enumerator() is usually a less efficient way to retrieve - object than List(). - - - The query string - A list of values to be written to "?" placeholders in the query - A list of hibernate types of the values - An enumerator - - - - Apply a filter to a persistent collection. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The resulting collection - - - - Apply a filter to a persistent collection, binding the given parameter to a "?" placeholder - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - A value to be written to a "?" placeholder in the query - The hibernate type of value - A collection - - - - Apply a filter to a persistent collection, binding the given parameters to "?" placeholders. - - - A filter is a Hibernate query that may refer to this, the collection element. - Filters allow efficient access to very large lazy collections. (Executing the filter - does not initialize the collection.) - - A persistent collection to filter - A filter query string - The values to be written to "?" placeholders in the query - The hibernate types of the values - A collection - Delete all objects returned by the query. @@ -18945,6 +20267,20 @@ The alias of the entity An ICriteria object + + + Creates a new IQueryOver<T> for the entity class. + + The entity class + An ICriteria<T> object + + + + Creates a new IQueryOver<T> for the entity class. + + The entity class + An ICriteria<T> object + Create a new instance of Query for the given query string @@ -18952,6 +20288,13 @@ A hibernate query string The query + + + Create a new instance of Query for the given query expression + A hibernate query expression + The query + + Create a new instance of Query for the given collection and filter string @@ -18971,24 +20314,6 @@ The query can be either in HQL or SQL format. - - - Create a new instance of IQuery for the given SQL string. - - a query expressed in SQL - a table alias that appears inside {} in the SQL string - the returned persistent class - An from the SQL string - - - - Create a new instance of for the given SQL string. - - a query expressed in SQL - an array of table aliases that appear inside {} in the SQL string - the returned persistent classes - An from the SQL string - Create a new instance of for the given SQL query string. @@ -19739,7 +21064,7 @@ Returns to the previous 'FROM' context. - + Implementations will report or handle errors invoked by an ANTLR base parser. @@ -20049,9 +21374,6 @@ called by subclasses after instantiation. - - of - An array indicating whether the entities have eager property fetching @@ -21191,38 +22513,43 @@ Ported by: Steve Strong + + + Facade for generation of + and instances. + + Facade for generation of and instances. - + Construct a instance capable of translating an HQL query string. - - The query-identifier (used in collection). - This is typically the same as the queryString parameter except for the case of - split polymorphic queries which result in multiple physical sql queries. - The query string to be translated + + Currently enabled filters The session factory An appropriate translator. - + - Construct a instance capable of - translating an HQL filter string. + Construct a instance + capable of translating a Linq expression. The query-identifier (used in collection). This is typically the same as the queryString parameter except for the case of split polymorphic queries which result in multiple physical sql queries. - The query string to be translated + The query expression to be translated + + Currently enabled filters The session factory An appropriate translator. @@ -21343,6 +22670,11 @@ Public constructor + + + Public constructor + + Returns a string representation of the object. @@ -21467,12 +22799,12 @@ Defined query substitutions. Does this represent a shallow (scalar or entity-id) select? - + Creates a new AST-based query translator. The query-identifier (used in stats collection) - The hql query to translate + The hql query to translate Currently enabled filters The session factory constructing this translator instance. @@ -23785,11 +25117,11 @@ ISession.List(); - A particulare page of the result set may be selected by calling + A particular page of the result set may be selected by calling SetMaxResults(), SetFirstResult(). The generated sql depends on the capabilities of the . Some Dialects are for databases that have built in paging (LIMIT) and those capabilities - will be used to limit the number of records returned by the sql statement. + will be used to limit the number of records returned by the sql statement. If the database does not support LIMITs then all of the records will be returned, but the objects created will be limited to the specific results requested. @@ -23829,7 +25161,7 @@

Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. + identifiers only.

This is a good strategy to use if you expect a high number of the objects @@ -23882,7 +25214,7 @@

- + Execute the update or delete statement. The number of entities updated or deleted. @@ -23900,10 +25232,10 @@ The first row to retreive. - - Entities retrieved by this query will be loaded in - a read-only mode where Hibernate will never dirty-check - them or make changes persistent. + + Entities retrieved by this query will be loaded in + a read-only mode where NHibernate will never dirty-check + them or make changes persistent. @@ -23955,7 +25287,7 @@ Position of the parameter in the query, numbered from 0 The possibly null parameter value - The Hibernate type + The NHibernate type @@ -23983,7 +25315,7 @@ - Bind a value to an indexed parameter, guessing the Hibernate type from + Bind a value to an indexed parameter, guessing the NHibernate type from the class of the given object. The position of the parameter in the query, numbered from 0 @@ -24004,11 +25336,11 @@ The name of the parameter A collection of values to list - The Hibernate type of the values + The NHibernate type of the values - Bind multiple values to a named query parameter, guessing the Hibernate + Bind multiple values to a named query parameter, guessing the NHibernate type from the class of the first object in the collection. This is useful for binding a list of values to an expression such as foo.bar in (:value_list) @@ -24016,18 +25348,18 @@ A collection of values to list - + Bind multiple values to a named query parameter. This is useful for binding a list of values to an expression such as foo.bar in (:value_list). the name of the parameter a collection of values to list - the Hibernate type of the values + the NHibernate type of the values - - Bind multiple values to a named query parameter. The Hibernate type of the parameter is - first detected via the usage/position in the query and if not sufficient secondly + + Bind multiple values to a named query parameter. The NHibernate type of the parameter is + first detected via the usage/position in the query and if not sufficient secondly guessed from the class of the first object in the array. This is useful for binding a list of values to an expression such as foo.bar in (:value_list). @@ -24038,7 +25370,7 @@ Bind the property values of the given object to named parameters of the query, matching property names with parameter names and mapping property types to - Hibernate types using heuristics. + NHibernate types using heuristics. Any PONO @@ -24359,7 +25691,7 @@ - The Hibernate types of the query result set. + The NHibernate types of the query result set. @@ -24555,6 +25887,17 @@ The type of join to use. this (for method chaining) + + + Join an association using the specified join-type, assigning an alias to the joined + association + + + + The type of join to use. + The criteria to be added to the join condition (ON clause) + this (for method chaining) + Create a new , "rooted" at the associated entity @@ -24590,6 +25933,17 @@ The type of join to use. The created "sub criteria" + + + Create a new , "rooted" at the associated entity, + assigning the given alias and using the specified join type. + + A dot-separated property path + The alias to assign to the joined association (for later reference). + The type of join to use. + The criteria to be added to the join condition (ON clause) + The created "sub criteria" + Set a strategy for handling the query results. This determines the @@ -24756,83 +26110,6 @@ The clone of the root criteria. - - - Error handling in this case will only kick in if we cannot set values on the TLS - this is usally the case if we are called from the finalizer, since this is something - that we do only for logging, we ignore the error. - - - - - Expose the batch functionality in ADO.Net 2.0 - Microsoft in its wisdom decided to make my life hard and mark it internal. - Through the use of Reflection and some delegates magic, I opened up the functionality. - - Observable performance benefits are 50%+ when used, so it is really worth it. - - - - - Append a command to the batch - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - Append a command to the batch - - - - - - This is required because SqlClient.SqlCommandSet will throw if - the command has no parameters. - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - Named query in "detached mode" where the NHibernate session is not available. @@ -24982,6 +26259,120 @@ returned. + + + Subquery type enumeration + + + + exact + + + all + + + some + + + + Converts lambda expressions to NHibernate criterion/order + + + + + Invoke the expression to extract its runtime value + + + + + Retrieves the name of the property from a member expression + + An expression tree that can contain either a member, or a conversion from a member. + If the member is referenced from a null valued object, then the container is treated as an alias. + The name of the member property + + + + Retrieves the name of the property from a member expression (without leading member access) + + + + + Retrieves a detached criteria from an appropriate lambda expression + + Expresson for detached criteria using .As<>() extension"/> + Evaluated detached criteria + + + + Convert a lambda expression to NHibernate ICriterion + + The type of the lambda expression + The lambda expression to convert + NHibernate ICriterion + + + + Convert a lambda expression to NHibernate ICriterion + + The lambda expression to convert + NHibernate ICriterion + + + + Convert a lambda expression to NHibernate Order + + The type of the lambda expression + The lambda expression to convert + The appropriate order delegate (order direction) + NHibernate Order + + + + Convert a lambda expression to NHibernate Order + + The lambda expression to convert + The appropriate order delegate (order direction) + NHibernate Order + + + + Convert a lambda expression to NHibernate Order + + The lambda expression to convert + The appropriate order delegate (order direction) + Indicates if the path is an aliased projection + NHibernate Order + + + + Convert a lambda expression to NHibernate subquery AbstractCriterion + + type of member expression + type of subquery + lambda expression to convert + NHibernate.ICriterion.AbstractCriterion + + + + Convert a lambda expression to NHibernate subquery AbstractCriterion + + type of subquery + lambda expression to convert + NHibernate.ICriterion.AbstractCriterion + + + + Register a custom method for use in a QueryOver expression + + Lambda expression demonstrating call of custom method + function to convert MethodCallExpression to ICriterion + + + + Warning: adds new parameters to the argument by side-effect, as well as mutating the query expression tree! + + @@ -25237,6 +26628,44 @@ The detached criteria + + + Adds the specified IQueryOver to the query. The result will be contained in a + + Return results in a + The IQueryOver. + + + + + Adds the specified IQueryOver to the query. The result will be contained in a + + The IQueryOver. + + + + + Adds the specified IQueryOver to the query. The result will be contained in a + + The IQueryOver. + + + + + Adds the specified IQueryOver to the query, and associates it with the given key. The result will be contained in a + + The key + The IQueryOver + + + + + Adds the specified IQueryOver to the query, and associates it with the given key. The result will be contained in a + + The key + The IQueryOver + + Sets whatevert this criteria is cacheable. @@ -25278,6 +26707,26 @@ The session. The factory. + + Return a cacheable "disassembled" representation of the object. + the value to cache + the session + optional parent entity object (needed for collections) + the disassembled, deep cloned state + + + Reconstruct the object from its cached "disassembled" state. + the disassembled state from the cache + the session + the parent entity object + the the object + + + + Called before assembling a query result set from the query cache, to allow batch fetching + of entities missing from the second-level cache. + + Combines sevaral queries into a single database call @@ -25287,103 +26736,124 @@ Get all the results + + The result is a IList of IList. + - Adds the specified criteria to the query. The result will be contained in a + Adds the specified query to the query. The result will be contained in a Return results in a - The criteria. - + The query. + The instance for method chain. Add the specified HQL query to the multi query. The result will be contained in a + The query Add the specified HQL query to the multi query, and associate it with the given key. The result will be contained in a - - - + The key to get results of the specific query. + The query + The instance for method chain. + Add the specified HQL Query to the multi query, and associate it with the given key. The result will be contained in a - - - + The key to get results of the specific query. + The query + The instance for method chain. + Add the specified HQL query to the multi query. The result will be contained in a + The query + The instance for method chain. Add a named query to the multi query. The result will be contained in a + The query + The instance for method chain. Add a named query to the multi query, and associate it with the given key. The result will be contained in a - - - + The key to get results of the specific query. + The query + The instance for method chain. + Add the specified HQL query to the multi query, and associate it with the given key - - - + The key to get results of the specific query. + The query + The instance for method chain. + Add the specified HQL query to the multi query + The query + The instance for method chain. Add the specified HQL Query to the multi query, and associate it with the given key - - - + The key to get results of the specific query. + The query + The instance for method chain. + Add the specified HQL query to the multi query + The instance for method chain. Add a named query to the multi query + The query + The instance for method chain. Add a named query to the multi query, and associate it with the given key - - - + The key to get results of the specific query. + The query + The instance for method chain. + Enable caching of this query result set. Should the query results be cacheable? + The instance for method chain. Set the name of the cache region. The name of a query cache region, or for the default query cache + The instance for method chain. Should the query force a refresh of the specified query cache region? @@ -25393,12 +26863,14 @@ based on its knowledge of those events. Should the query result in a forcible refresh of the query cache? + The instance for method chain. The timeout for the underlying ADO query + The instance for method chain. @@ -25407,6 +26879,7 @@ The name of the parameter The possibly null parameter value The NHibernate . + The instance for method chain. @@ -25415,6 +26888,7 @@ The name of the parameter The non-null parameter value + The instance for method chain. @@ -25424,6 +26898,7 @@ The name of the parameter A collection of values to list The Hibernate type of the values + The instance for method chain. @@ -25433,6 +26908,7 @@ The name of the parameter A collection of values to list + The instance for method chain. @@ -25441,6 +26917,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25449,6 +26926,7 @@ The name of the parameter A non-null instance of a array. + The instance for method chain. @@ -25457,6 +26935,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25465,6 +26944,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25473,6 +26953,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25481,6 +26962,7 @@ A non-null instance of a . The name of the parameter + The instance for method chain. @@ -25489,6 +26971,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25497,6 +26980,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25504,6 +26988,7 @@ The name of the parameter A non-null instance of a persistent class + The instance for method chain. @@ -25512,6 +26997,7 @@ The name of the parameter A non-null instance of a persistent enumeration + The instance for method chain. @@ -25520,6 +27006,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25528,6 +27015,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25536,6 +27024,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25544,6 +27033,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25552,6 +27042,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25560,6 +27051,7 @@ The name of the parameter An instance of a . + The instance for method chain. @@ -25568,6 +27060,7 @@ The name of the parameter A non-null instance of a . + The instance for method chain. @@ -25576,24 +27069,30 @@ The name of the parameter A non-null instance of a . + The instance for method chain. Override the current session flush mode, just for this query. + The instance for method chain. Set a strategy for handling the query results. This can be used to change "shape" of the query result. + + The will be applied after the transformer of each single query. + + The instance for method chain. - Returns the result of one of the Criteria based on the key + Returns the result of one of the query based on the key The key - + The instance for method chain. @@ -25884,13 +27383,6 @@ Delete a persistent object (by explicit entity name) - - - Retrieve a list of persistent objects using a Hibernate query - - - - @@ -26519,6 +28011,9 @@ Clear the internal dirty flag. + + Intercept field set/get + Is the entity considered dirty? True if the entity is dirty; otherwise false. @@ -26526,6 +28021,12 @@ Is the entity to which we are bound completely initialized? + + Get the entity-name of the field DeclaringType. + + + Get the MappedClass (field container). + Helper class for dealing with enhanced entity classes. @@ -26538,6 +28039,135 @@ Initialize the property, and return its new value + + + An AggregatingGroupBy is a query such as: + + from p in db.Products + group p by p.Category.CategoryId + into g + select new + { + g.Key, + MaxPrice = g.Max(p => p.UnitPrice) + }; + + Where the grouping operation is being fully aggregated and hence does not create any form of heirarchy. + This class takes such queries, flattens out the re-linq sub-query and re-writes the outer select + + + + + Detects if an expression tree contains aggregate functions + + + + + An AggregatingGroupJoin is a query such as: + + from c in db.Customers + join o in db.Orders on c.CustomerId equals o.Customer.CustomerId into ords + join e in db.Employees on c.Address.City equals e.Address.City into emps + select new { c.ContactName, ords = ords.Count(), emps = emps.Count() }; + + where the results of the joins are being fully aggregated and hence do not create any form of hierarchy. + This class takes such expressions and turns them into this form: + + from c in db.Customers + select new + { + c.ContactName, + ords = (from o2 in db.Orders where o2.Customer.CustomerId == c.CustomerId select o2).Count(), + emps = (from e2 in db.Employees where e2.Address.City == c.Address.City select e2).Count() + }; + + + + + + Builds HQL Equality nodes and used in joins + + + + + Performs the equivalent of a ToString() on an expression. Swaps out constants for + parameters so that, for example: + from c in Customers where c.City = "London" + generate the same key as + from c in Customers where c.City = "Madrid" + + + + + Locates constants in the expression tree and generates parameters for each one + + + + + Performs bottom-up analysis to determine which nodes that match a certain predicate + + + + + Extract the from a given expression. + + The declaring-type of the method. + The method. + The of the no-generic method or the generic-definition for a generic-method. + + + + + Extract the from a given expression. + + The method. + The of the no-generic method or the generic-definition for a generic-method. + + + + + Gets the field or property to be accessed. + + The declaring-type of the property. + The type of the property. + The expression representing the property getter. + The of the property. + + + + Check if a method is declared in a given . + + The method to check. + The where the method is really declared. + True if the method is an implementation of the method declared in ; false otherwise. + + + + Provides the main entry point to a LINQ query. + + + + + Implementors define a strategy for transforming criteria query + results into the actual application-visible query result list. + + + + + + + + + + + + + + + + + + Walker for collections of values and many-to-many associations @@ -26787,8 +28417,7 @@ - Get the names of the columns constrained - by this criterion. + Get the names of the columns constrained by this criterion. @@ -27117,6 +28746,11 @@ + + + Override to use the persister to change the table-alias for columns in join-tables + + Disable outer join fetching if this loader obtains an @@ -30891,6 +32525,11 @@ Return the alised identifier column names + + + Get the table alias used for the supplied column + + Extends the generic ILoadable contract to add operations required by HQL @@ -32485,6 +34124,11 @@ An ANSI-style Join. + + + Represents a SQL JOIN + + @@ -32559,7 +34203,7 @@ An Oracle-style (theta) Join - + This method is a bit of a hack, and assumes that the column on the "right" side of the @@ -32574,15 +34218,17 @@ A placeholder for an ADO.NET parameter in an . - + We need to know what the position of the parameter was in a query before we rearranged the query. - This is used only by dialects that rearrange the query, unfortunately, - the MS SQL 2005 dialect have to re shuffle the query (and ruin positional parameter - support) because the SQL 2005 and 2008 SQL dialects have a completely broken - support for paging, which is just a tad less important than SELECT. - See NH-1528 + This is the ADO parameter position that this SqlString parameter is + bound to. The SqlString can be safely rearranged once this is set. + + + + + Create a parameter with the specified position @@ -33116,6 +34762,11 @@ A provider-neutral version of the CommandText + + + Make a copy of the SqlString, with new parameter references (Placeholders) + + Returns substring of this SqlString starting with the specified @@ -33948,6 +35599,12 @@ Perform the validations. + + + This acts as a template method. Specific Reader instances + override the component methods. + + A implementation based on an explicitly supplied @@ -34169,28 +35826,6 @@ A mimic to the javax.transaction.Synchronization callback to enable - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - Result transformer that allows to transform a result to @@ -34754,6 +36389,258 @@ Mapping of the built in Type hierarchy. + + + Defines a mapping from a .NET to a SQL datatype. + This interface is intended to be implemented by applications that need custom types. + + Implementors should usually be immutable and MUST definately be threadsafe. + + + + + When implemented by a class, returns the SqlTypes for the columns mapped by this IType. + The that uses this IType.An array of s. + + + + When implemented by a class, returns how many columns are used to persist this type. + The that uses this IType.The number of columns this IType spans.MappingException + + + + When implemented by a class, should the parent be considered dirty, + given both the old and current field or element value? + The old valueThe current valueThe true if the field is dirty + + + + When implemented by a class, gets an instance of the object mapped by + this IType from the . + The that contains the values + The names of the columns in the that contain the + value to populate the IType with. + The object mapped by this IType. + Implementors should handle possibility of null values. + + + + + When implemented by a class, gets an instance of the object + mapped by this IType from the . + The that contains the valuesThe name of the column in the that contains the + value to populate the IType with.The object mapped by this IType. + Implementations should handle possibility of null values. + This method might be called if the IType is known to be a single-column type. + + + + + When implemented by a class, puts the value/values from the mapped + class into the . + The to put the values into.The object that contains the values.The index of the to start writing the values to.Indicates which columns are to be set. + Implementors should handle possibility of null values. + A multi-column type should be written to parameters starting from . + + + + + When implemented by a class, puts the value/values from the mapped + class into the . + + The to put the values into. + The object that contains the values. + The index of the to start writing the values to. + + Implementors should handle possibility of null values. + A multi-column type should be written to parameters starting from . + + + + + When implemented by a class, a representation of the value to be + embedded in an XML element + The object that contains the values.An Xml formatted string. + + + + When implemented by a class, returns a deep copy of the persistent + state, stopping at entities and at collections. + A Collection element or Entity fieldThe entityMode.The session factory.A deep copy of the object. + + + + When implemented by a class, retrieves an instance of the mapped class, + or the identifier of an entity or collection from a . + The that contains the values. + The names of the columns in the that contain the + value to populate the IType with. + the sessionThe parent EntityAn identifier or actual object mapped by this IType. + + This is useful for 2-phase property initialization - the second phase is a call to + ResolveIdentifier() + + + Most implementors of this method will just pass the call to NullSafeGet(). + + + + + + When implemented by a class, maps identifiers to Entities or Collections. + An identifier or value returned by Hydrate()The sessionThe parent EntityThe Entity or Collection referenced by this Identifier. + This is the second phase of 2-phase property initialization. + + + + + Given a hydrated, but unresolved value, return a value that may be used to + reconstruct property-ref associations. + + + + + + + + During merge, replace the existing (target) value in the entity we are merging to + with a new (original) value from the detached entity we are merging. For immutable + objects, or null values, it is safe to simply return the first parameter. For + mutable objects, it is safe to return a copy of the first parameter. For objects + with component values, it might make sense to recursively replace component values. + + the value from the detached entity being merged + the value in the managed entity + + + + + the value to be merged + + + + Compare two instances of the class mapped by this type for persistence + "equality" - equality of persistent state - taking a shortcut for + entity references. + + + + + boolean + + + + Compare two instances of the class mapped by this type for persistence + "equality" - equality of persistent state. + + + + + boolean + + + + Compare two instances of the class mapped by this type for persistence + "equality" - equality of persistent state. + + + + + + boolean + + + Get a hashcode, consistent with persistence "equality" + + + + + Get a hashcode, consistent with persistence "equality" + + + + + + compare two instances of the type + + + + + + Get the type of a semi-resolved value. + + + A representation of the value to be embedded in an XML element. + + + + + + Parse the XML representation of an instance. + + + an instance of the type + + + + Given an instance of the type, return an array of boolean, indicating + which mapped columns would be null. + + an instance of the type + + + + + When implemented by a class, gets the abbreviated name of the type. + The NHibernate type name. + + + + When implemented by a class, gets the returned + by the NullSafeGet() methods. + + The from the .NET framework. + + This is used to establish the class of an array of this Itype + + + + + When implemented by a class, gets the value indicating if the objects + of this IType are mutable. + true if the objects mapped by this IType are mutable. + With respect to the referencing object... + Entities and Collections are considered immutable because they manage their own internal state. + + + + + When implemented by a class, gets a value indicating if the implementor is castable to an an + true if this is an AssociationThis does not necessarily imply that the type actually represents an association. + + + + When implemented by a class, gets a value indicating if the implementor is a collection type + true if this is a . + + + + When implemented by a class, gets a value indicating if the implementor + is an . + true if this is an + If true, the implementation must be castable to . + A component type may own collections or associations and hence must provide certain extra functionality. + + + + + When implemented by a class, gets a value indicating if the implementor + extends + true if this is an + + + + Disassembles the object into a cacheable representation. @@ -34841,10 +36728,10 @@ The that uses this IType.The number of columns this IType spans.MappingException - + - + @@ -35329,6 +37216,23 @@ for the System.Type. + + + Maps a Property to a column that + stores date & time down to the accuracy of a second. + + + This only stores down to a second, so if you are looking for the most accurate + date and time storage your provider can give you use the . + or the + + + + + + + + Base class for enum types. @@ -35819,95 +37723,6 @@ - - - Summary description for CompositeCustomType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property @@ -36024,23 +37839,6 @@ Maps a Property to a - - - Maps a Property to a column that - stores date & time down to the accuracy of a second. - - - This only stores down to a second, so if you are looking for the most accurate - date and time storage your provider can give you use the . - or the - - - - - - - - @@ -36058,6 +37856,19 @@ column + + + Support for parameterizable types. A UserType or CustomUserType may be + made parameterizable by implementing this interface. Parameters for a + type may be set by using a nested type element for the property element + + + + + Gets called by Hibernate to pass the configured type parameters to + the implementation. + + @@ -37242,7 +39053,7 @@ Applications should use static methods and constants on NHibernate.NHibernateUtil if the default IType is good enough. For example, the TypeFactory should only be used when the String needs - to have a length of 300 instead of 255. At this point NHibernate.String does not get you the + to have a length of 300 instead of 255. At this point NHibernate.String does not get you the correct IType. Instead use TypeFactory.GetString(300) and keep a local variable that holds a reference to the IType. @@ -37275,15 +39086,15 @@ The Type of Classification This parses through the string and makes the assumption that no class - name and no assembly name will contain the "(". + name and no assembly name will contain the "(". - If it finds - the "(" and then finds a "," afterwards then it is a - TypeClassification.PrecisionScale. + If it finds + the "(" and then finds a "," afterwards then it is a + TypeClassification.PrecisionScale. If it finds the "(" - and doesn't find a "," afterwards, then it is a + and doesn't find a "," afterwards, then it is a TypeClassification.Length. @@ -37295,7 +39106,7 @@ Given the name of a Hibernate type such as Decimal, Decimal(19,0) - , Int32, or even NHibernate.Type.DecimalType, NHibernate.Type.DecimalType(19,0), + , Int32, or even NHibernate.Type.DecimalType, NHibernate.Type.DecimalType(19,0), NHibernate.Type.Int32Type, then return an instance of NHibernate.Type.IType The name of the type. @@ -37306,8 +39117,8 @@ - Uses heuristics to deduce a NHibernate type given a string naming the - type. + Uses heuristics to deduce a NHibernate type given a string naming the + type. An instance of NHibernate.Type.IType @@ -37315,15 +39126,15 @@ When looking for the NHibernate type it will look in the cache of the Basic types first. If it doesn't find it in the cache then it uses the typeName to get a reference to the Class (Type in .NET). Once we get the reference to the .NET class we check to see if it - implements IType, ICompositeUserType, IUserType, ILifecycle (Association), or + implements IType, ICompositeUserType, IUserType, ILifecycle (Association), or IPersistentEnum. If none of those are implemented then we will serialize the Type to the - database using NHibernate.Type.SerializableType(typeName) + database using NHibernate.Type.SerializableType(typeName) - Uses heuristics to deduce a NHibernate type given a string naming the - type. + Uses heuristics to deduce a NHibernate type given a string naming the + type. the type name parameters for the type @@ -37337,7 +39148,7 @@ A BinaryType In addition to returning the BinaryType it will also ensure that it has - been added to the basicNameMap with the keys Byte[](length) and + been added to the basicNameMap with the keys Byte[](length) and NHibernate.Type.BinaryType(length). @@ -37351,7 +39162,7 @@ In addition to returning the SerializableType it will also ensure that it has been added to the basicNameMap with the keys Type.FullName (the result - of IType.Name and Type.AssemblyQualifiedName. This is different + of IType.Name and Type.AssemblyQualifiedName. This is different from the other items put in the basicNameMap because it is uses the AQN and the FQN as opposed to the short name used in the maps and the FQN. @@ -37384,98 +39195,116 @@ A many-to-one association type for the given class and cascade style. - - Deep copy a series of values from one array to another... - The values to copy (the source) - The value types - an array indicating which values to include in the copy - The array into which to copy the values - The originating session - - - Apply the operation across a series of values. - The values - The value types - The originating session - - + - Determine if any of the given field values are dirty, - returning an array containing indexes of - the dirty fields or null if no fields are dirty. + Collection of convenience methods relating to operations across arrays of types... - - - Determine if any of the given field values are modified, - returning an array containing indexes of - the dirty fields or null if no fields are modified. - + + Deep copy a series of values from one array to another + The values to copy (the source) + The value types + An array indicating which values to include in the copy + The array into which to copy the values + The originating session - + + Apply the operation across a series of values. + The values + The value types + The originating session + + - + Apply the operation across a series of values. - - - - + The values + The value types + The originating session + The entity "owning" the values - - Apply the {@link Type#disassemble} operation across a series of values. - The values - The value types - An array indicating which values to include in the disassembled state - The originating session - The entity "owning" the values - The disassembled state + + Apply the operation across a series of values. + The values + The value types + An array indicating which values to include in the disassembled state + The originating session + The entity "owning" the values + The disassembled state - + - Apply the operation across a series of values. + Apply the operation across a series of values. - The source of the state - The target into which to replace the source values. - The value types - The originating session - The entity "owning" the values - Represent a cache of already replaced state - The replaced state + The source of the state + The target into which to replace the source values. + The value types + The originating session + The entity "owning" the values + Represent a cache of already replaced state + The replaced state - + - Apply the + Apply the operation across a series of values. - The source of the state - The target into which to replace the source values. - The value types - The originating session - The entity "owning" the values - A map representing a cache of already replaced state - FK directionality to be applied to the replacement - The replaced state + The source of the state + The target into which to replace the source values. + The value types + The originating session + The entity "owning" the values + A map representing a cache of already replaced state + FK directionality to be applied to the replacement + The replaced state - - - Apply the - operation across a series of values, as - long as the corresponding is an association. + + + Apply the + operation across a series of values, as long as the corresponding is an association. - The source of the state - The target into which to replace the source values. - The value types - The originating session - The entity "owning" the values - A map representing a cache of already replaced state - FK directionality to be applied to the replacement - The replaced state + The source of the state + The target into which to replace the source values. + The value types + The originating session + The entity "owning" the values + A map representing a cache of already replaced state + FK directionality to be applied to the replacement + The replaced state - If the corresponding type is a component type, then apply + If the corresponding type is a component type, then apply across the component subtypes but do not replace the component value itself. + + + Determine if any of the given field values are dirty, returning an array containing + indices of the dirty fields. + If it is determined that no fields are dirty, null is returned. + + The property definitions + The current state of the entity + The baseline state of the entity + Columns to be included in the dirty checking, per property + Does the entity currently hold any uninitialized property values? + The session from which the dirty check request originated. + Array containing indices of the dirty properties, or null if no properties considered dirty. + + + + Determine if any of the given field values are modified, returning an array containing + indices of the modified fields. + If it is determined that no fields are dirty, null is returned. + + The property definitions + The current state of the entity + The baseline state of the entity + Columns to be included in the mod checking, per property + Does the entity currently hold any uninitialized property values? + The session from which the dirty check request originated. + Array containing indices of the modified properties, or null if no properties considered modified. + Maps the Assembly Qualified Name of a to a @@ -37612,23 +39441,23 @@ - - A UserType that may be dereferenced in a query. - This interface allows a custom type to define "properties". - These need not necessarily correspond to physical .NET style properties. + + A UserType that may be dereferenced in a query. + This interface allows a custom type to define "properties". + These need not necessarily correspond to physical .NET style properties. - A ICompositeUserType may be used in almost every way - that a component may be used. It may even contain many-to-one - associations. + A ICompositeUserType may be used in almost every way + that a component may be used. It may even contain many-to-one + associations. - Implementors must be immutable and must declare a public - default constructor. + Implementors must be immutable and must declare a public + default constructor. - Unlike UserType, cacheability does not depend upon - serializability. Instead, Assemble() and - Disassemble() provide conversion to/from a cacheable - representation. - + Unlike UserType, cacheability does not depend upon + serializability. Instead, Assemble() and + Disassemble() provide conversion to/from a cacheable + representation. + @@ -37671,15 +39500,17 @@ the containing entity - + Write an instance of the mapped class to a prepared statement. Implementors should handle possibility of null values. A multi-column type should be written to parameters starting from index. + If a property is not settable, skip it and don't increment the index. + @@ -37715,13 +39546,13 @@ with a new (original) value from the detached entity we are merging. For immutable objects, or null values, it is safe to simply return the first parameter. For mutable objects, it is safe to return a copy of the first parameter. However, since - composite user types often define component values, it might make sense to recursively + composite user types often define component values, it might make sense to recursively replace component values in the target object. - Get the "property names" that may be used in a query. + Get the "property names" that may be used in a query. @@ -37889,19 +39720,6 @@ The factory. The loggable string representation. - - - Support for parameterizable types. A UserType or CustomUserType may be - made parameterizable by implementing this interface. Parameters for a - type may be set by using a nested type element for the property element - - - - - Gets called by Hibernate to pass the configured type parameters to - the implementation. - - Instantiate an uninitialized instance of the collection wrapper @@ -38691,17 +40509,6 @@ The , in general, become from another . - - - Try to find a method in a serie of given types. - - The serie of types where find. - The method info. - The found method or null. - - The , in general, become from another . - - Used to ensure a collection filtering a given IEnumerable by a certain type. @@ -39822,6 +41629,16 @@ NHibernate date type + + + NHibernate local date type + + + + + NHibernate utc date type + + NHibernate date type @@ -39980,13 +41797,6 @@ the entity identifier type - - - A NHibernate persistent object (entity) type - - a mapped entity class - - A NHibernate persistent object (entity) type diff --git a/Lib/Portoa.Log4Net.dll b/Lib/Portoa.Log4Net.dll index 3454be5..1223192 100644 Binary files a/Lib/Portoa.Log4Net.dll and b/Lib/Portoa.Log4Net.dll differ diff --git a/Lib/Portoa.Log4Net.xml b/Lib/Portoa.Log4Net.xml index 6d23106..57dc57f 100644 --- a/Lib/Portoa.Log4Net.xml +++ b/Lib/Portoa.Log4Net.xml @@ -4,5 +4,10 @@ Portoa.Log4Net + + + log4net implementation of + + diff --git a/Lib/Portoa.NHibernate.dll b/Lib/Portoa.NHibernate.dll index 3554c9d..73ee06a 100644 Binary files a/Lib/Portoa.NHibernate.dll and b/Lib/Portoa.NHibernate.dll differ diff --git a/Lib/Portoa.NHibernate.xml b/Lib/Portoa.NHibernate.xml index 09b23de..5354632 100644 --- a/Lib/Portoa.NHibernate.xml +++ b/Lib/Portoa.NHibernate.xml @@ -4,27 +4,18 @@ Portoa.NHibernate - + - Handles transactions in NHibernate, does not support nested transactions - + Interceptor that instructs NHibernate to build entities using an + implementation of IServiceProvider + + Stolen mostly from Mike Valenty - + - Starts a transaction + Interface used to enable events before and after NHibernate constructs an entity - - - - Commits a transaction - - If a transaction has not been started - - - - Rolls back a transaction - - If a transaction has not been started + @@ -38,8 +29,41 @@ and a service provider - - Stolen mostly from Mike Valenty + + + Empty session decorator, for easier implementing of the ISession object + + This is why you don't create interfaces with dozens of methods. + + + + The ISession being decorated + + + + + Handles transactions in NHibernate, does not support nested transactions + + + + + Default repository implementation for entities with integral identifiers + + The entity type + + + + + Default repository implementation for NHibernate + + The entity type + The identifier type + + + + + The current session + diff --git a/Lib/Portoa.Web.dll b/Lib/Portoa.Web.dll index f20195b..03e0efc 100644 Binary files a/Lib/Portoa.Web.dll and b/Lib/Portoa.Web.dll differ diff --git a/Lib/Portoa.Web.xml b/Lib/Portoa.Web.xml index df7d3f8..b754571 100644 --- a/Lib/Portoa.Web.xml +++ b/Lib/Portoa.Web.xml @@ -4,6 +4,13 @@ Portoa.Web + + + If the result implements , then the HTTP status + code on the Response will be set according to the value of + + + Signifies that this controller can handle errors that aren't handled by @@ -88,12 +95,43 @@ Adapted from http://eliasbland.wordpress.com/2009/08/08/enumeration-model-binder-for-asp-net-mvc/ + + + Represents a view for when an error occurs + + + + + Enables action results to override the HTTP status code + + + + + Gets or sets the new HTTP status code for the result + + Sets the HTTP status code on the response object before calling base.ExecuteResult() + + + Gets or sets the error message + + + + + Gets or sets the error that occurred + + + + + Gets or sets the delegate to create the error model. By default it creates + an instance of . + + Handles global application-wide errors that don't get caught by @@ -111,6 +149,13 @@ that are not part of NHibernate + + + Flattens a FilterInfo object into a single IEnumerable containing + the ActionFilter, ExceptionFilter, ResultFilter and + AuthorizationFilter collections + + This class exists to get rid of the SessionState and TempData error. Just google it. @@ -133,6 +178,12 @@ Logs all interceptable method calls via the + + + Indicates that an object needs to be built up by the container + + + Exposes an interface to configure log4net @@ -165,6 +216,7 @@ Gets or sets an item from the backing store The key of the item to retrieve + The value stored in the specified key, or null if no such key exists @@ -199,6 +251,13 @@ Controller for handling and displaying errors that aren't handled by application code + + + Call handler that wraps a method call in a unit of work + + + + Enables you to dynamically add filters to a ControllerActionInvoker. This class will also @@ -211,21 +270,66 @@ Overridden to add the new filters to the default filters + + + Performs automatic logging on method calls (but respects ) + + Truncates a string to 150 characters in a pretty way, if necessary + + + Generic model for displaying errors + + + + + Gets or sets the exception that occurred + + Gets all model state errors as a line feed-delimited string + + + Creates a JSON response if an error occurred, appending all ModelState errors + to the response object + + The error message to display to the user + + + + + Creates a JSON response from an Exception + + + + + + + Creates a JSON response object + + The error message to display to the user + Any data that needs to be passed to the client + Sets up the temporary data provider so that it won't barf with Session errors + + + Runs an action in a transaction. If an exception is thrown during execution, the transaction + will be rolled back and the exception will be raised. + + Service that can create a transaction + The action to execute inside the transaction + Gets a value from the request and casts it to the specified type @@ -243,63 +347,12 @@ - Uses a container to create controllers + Uses an IUnityContainer to create controllers - + - Base for an Unity/NHibernate MVC application - - - - - Handles uncaught application exceptions; default implementation uses - and to - display errors - - The uncaught exception - - - - Creates the configuration used for NHibernate; default implementation uses the default - NHibernate configuration, and sets a custom interceptor. The configuration can be retrieved - outside of this method (if needed) via the container. Do not call this method directly. - - - - - - Registers any routes for the application; default implementation registers nothing - - - - - Registers any applicable areas; default implementations calls - AreaRegistration.RegisterAllAreas() - - - - - Configures the controller factory; default implementation uses Unity to - resolve each controller with a custom action invoker - - - - - - Performs any application-specific configuration for Unity; default implementation - does nothing - - - - - IControllerFactory that provides a mechanism to perform injection - on the controller after it is instantiated - - - - - Event that fires after a controller is instantiated + Service provider that uses an IUnityContainer to instantiate and locate services @@ -318,10 +371,99 @@ Reads the app config and applies the Unity configuration, if applicable + + + IControllerFactory that provides a mechanism to perform injection + on the controller after it is instantiated + + + + + Event that fires after a controller is instantiated + + Controller factory that uses a service provider to resolve controllers + + + Gets an object from the request variables, or its default value if + the key does not exist + + The type to convert the value to + The request key of the object to retrieve + + + + Base for an MVC application using Unity/NHibernate + + + + + The container associated with this application + + + + + Handles uncaught application exceptions; default implementation uses + and to + display errors + + The uncaught exception + + + + Override to configure the model binders for the application; default implementation + does nothing + + + + + Creates the configuration used for NHibernate; default implementation uses the default + NHibernate configuration, and sets a custom interceptor. The configuration can be retrieved + outside of this method (if needed) via the container. Do not call this method directly. + + + + + + Registers any routes for the application; default implementation registers nothing + + + + + Registers any applicable areas; default implementations calls + AreaRegistration.RegisterAllAreas() + + + + + Configures the controller factory; default implementation uses Unity to + resolve each controller with a custom action invoker + + + + + + Performs any application-specific configuration for Unity; default implementation + does nothing + + + + + Binds an enumeration annotated with the FlagsAttribute + + + Adapted from http://blog.nathan-taylor.net/2010/06/aspnet-mvc-flags-enumeration-model.html + + + + + ActionResult decorator that enables you to override the HTTP status code + + + diff --git a/Lib/Portoa.dll b/Lib/Portoa.dll index 6ee353f..10b4e1d 100644 Binary files a/Lib/Portoa.dll and b/Lib/Portoa.dll differ diff --git a/Lib/Portoa.xml b/Lib/Portoa.xml index be72679..23ab7f6 100644 --- a/Lib/Portoa.xml +++ b/Lib/Portoa.xml @@ -4,6 +4,78 @@ Portoa + + + Password protector that allows nulls + + + + + Password protector that hashes the password using a salt, and stores it + as a hex-encoded string + + + + + Represents an object that has a password associated with it + + + + + Verifies the legitimacy of a potential password + + The password to verify + + + + Changes the object's password to the new password + + The new password + + + + Verifies the given password. + + Returns false if is null or empty + + + + The salt used to hash the password as a hex-encoded string + + + + + The password as a hex-encoded string + + + + + Gets whether or not the password has been set + + + + + Determines if the entity has already been persisted + + + + + Represents a domain object that can be persisted by an + + The entity type + The entity's identifier type + + + + Represents an objec that is uniquely identifiable + + The identifier type + + + + The unique identifier of this object + + Implodes an enumeration given a selector function and a separator @@ -232,6 +304,86 @@ Entity marked with attribute and all its members considered used + + + Empty implementation of + + + + + Exposes an interface for logging + + + + + Logs a debug message + + + + + Logs an informational message + + + + + Logs a warning message + + + + + Logs an error message + + + + + Gets whether or not Debug messages should be logged + + + + + Gets whether or not Info messages should be logged + + + + + Gets whether or not Warn messages should be logged + + + + + Gets whether or not Error messages should be logged + + + + + Logs the specified message + + The message to log + + + + Computes the hash of the string using the given + salt and UTF8 Encoding + + + + + + + + Base-64 encodes the byte array + + + + + Converts a byte array to a hex-encoded string + + + + + Default password protector that does not allow null or empty passwords + + Validates that the value is greater than zero @@ -243,6 +395,11 @@ Whether to use the fully qualified name of each type + + + implementation that writes to the Console + + Represents a transaction @@ -252,16 +409,24 @@ Starts a transaction + If a transaction has already been started Commits a transaction + If a transaction has not been started Rolls back a transaction + If a transaction has not been started + + + + Gets whether or not the transaction is currently active + @@ -332,6 +497,40 @@ Equivalent of "select *" + + + implementation that writes using system diagnostic tool + + + + + Signifies that this method should be executed within a transaction + + + + + Logs a formatted Debug message + + + + + + Logs a formatted Info message + + + + + + Logs a formatted Warn message + + + + + + Logs an exception using + + + TODO: add reflection cache @@ -349,6 +548,16 @@ if null and empty strings should not be validated. + + + Gets or sets whether to allow empty strings + + + + + Raised when an error occurred in the persistence layer + + Determines if this object should be logged @@ -359,5 +568,27 @@ Signifies that this object should not be logged + + + Raised when an entity was not found + + + + + Raised when an entity was not found + + The entity type + The entity's identifier type + + + + Represents a service object that can start a transaction + + + + + Begins a transaction and returns the resultant + + diff --git a/Lib/Remotion.Data.Linq.dll b/Lib/Remotion.Data.Linq.dll new file mode 100644 index 0000000..14aeb2a Binary files /dev/null and b/Lib/Remotion.Data.Linq.dll differ