Click here to Skip to main content
15,885,278 members
Articles / Desktop Programming / Windows Forms

WinForms controls to develop with the Pfz.Databasing framework

Rate me:
Please Sign up or sign in to vote.
4.25/5 (6 votes)
7 Oct 2009CPOL6 min read 25.4K   633   10  
Really easy to use framework capable of generating the right controls dynamically for each data type.
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Pfz.Databasing</name>
    </assembly>
    <members>
        <member name="T:Pfz.Databasing.DatabasePrecisionAndScaleAttribute">
            <summary>
            Sets the precision and scale used when generating the database field.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabasePrecisionAndScaleAttribute.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes this attribute with precision (the total number of digits)
            and scale (the number of digits after the decimal point).
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DatabasePrecisionAndScaleAttribute.Precision">
            <summary>
            Gets the precision (total number of digits).
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DatabasePrecisionAndScaleAttribute.Scale">
            <summary>
            Gets the scale (the number of digits after the decimal point).
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Extensions.RecordsExtensions.PfzRecordsExtensions">
            <summary>
            Adds some methods for easily applying records and reverting changes
            to entire lists to the database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Extensions.RecordsExtensions.PfzRecordsExtensions.AddNew``1(System.Collections.Generic.IList{``0})">
            <summary>
            Creates a new record, adding it to this list.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Extensions.RecordsExtensions.PfzRecordsExtensions.RevertChanges``1(System.Collections.Generic.IList{``0})">
            <summary>
            Reverts the changes done to this records list and not yet applied.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Extensions.RecordsExtensions.PfzRecordsExtensions.ApplyChanges``1(System.Collections.Generic.List{``0})">
            <summary>
            Applies the records changes to the database and then updates
            the list.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Extensions.RecordsExtensions.PfzRecordsExtensions.AsDataSource``1(System.Collections.Generic.IList{``0})">
            <summary>
            Gets an wrapper IList over this list.
            This is necessary as a work-around when using DataGridViews with
            inherited iterfaces, as the grid only shows the properties of
            the last interface if the list is typed.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.RecordClassGenerator">
            <summary>
            Base class for record class generators.
            This class only generates the basic for the record, without adding
            any properties or methods specific to any database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.WriteLine(System.String)">
            <summary>
            Writes a line to the C# unit.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.WriteLine(System.Object[])">
            <summary>
            Writes a line to the C# unit.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.Write(System.String)">
            <summary>
            Writes the given line in the C# unit, but does not add
            the enter at the end.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.Write(System.Object[])">
            <summary>
            Writes the given line in the C# unit, but does not add
            the enter at the end.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.GetProperties(System.Type,System.Boolean)">
            <summary>
            Gets the database properties from the given interface type and 
            all it's base interfaces.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.OnImplementClass">
            <summary>
            Method invoked when beginnin to implement the class code.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.Implement(System.Type)">
            <summary>
            Implements the given type.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.WriteReturnType(System.Type)">
            <summary>
            Writes the return type for the given type.
            Considers void.
            </summary>
            <param name="type"></param>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.CreateBlock">
            <summary>
            Call using(CreateBlock())
            {
            }
            
            And the CSharp generated code will also be inside a block.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.ToString">
            <summary>
            Gets the CSharp generated code.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordClassGenerator.GetName(System.Type)">
            <summary>
            Gets the CSharp name of a type.
            Useful for generic types.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.RecordClassGenerator.StringBuilder">
            <summary>
            Gets the stringbuilder for the generated class.
            You can use it if you need to remove recently added
            information.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.RecordClassGenerator.Type">
            <summary>
            Gets the type implemented at this moment.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.RecordClassGenerator.DatabasePropertyPaths">
            <summary>
            Gets the DatabaseProperties present in the actual type.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.RecordClassGenerator.PrimaryKeyPropertyPaths">
            <summary>
            Gets the PrimaryKeyProperties present in the actual type.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.RecordClassGenerator.IsPersisted">
            <summary>
            Gets a value indicating if the actual type to implement is persisted.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IBeforeApplyUpdateRule`1">
            <summary>
            Rule that is invoked just before an update record is applied.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IRule`1">
            <summary>
            Base interface for BusinessRules.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IRule">
            <summary>
            This interface is intended to be used only by the generic version.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.BusinessRules.IRule.Execute(Pfz.Databasing.Tiers.BusinessRulesTier,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.IRecord)">
            <summary>
            Method that must call the generic version.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.BusinessRules.IRule`1.Execute(Pfz.Databasing.Tiers.BusinessRulesTier,Pfz.Databasing.Managers.IDatabaseConnection,`0)">
            <summary>
            Method that must be implemented by the rule object.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Tiers.BusinessRulesTier">
            <summary>
            This class is responsible for calling the appropriate business rules
            objects when creating, applying and even just before committing
            database records.
            So, you can create all your logic for initializing, doing "single-record"
            validations and multi-record validations if you use this tier.
            For distributed applications, this tier can be put only in the server side,
            so the "user" application does not even know what are the rules and don't
            need to be updated if only the rules are.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Tiers.TierBase">
            <summary>
            Base class to create a "tier" over another database manager.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.IDatabaseManager">
            <summary>
            This interface is responsible for managing all transitions from
            Databases to Objects, and is also the point where you can "start"
            your business logic, as all the actions (select, insert, update and
            delete) pass throght this object.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.CreateConnection(System.String)">
            <summary>
            Creates a new connection.
            The server can use the name param to select the appropriate connection string or, if it only uses
            one database, can ignore it.
            </summary>
            <param name="name">The name of the connection.</param>
            <returns>A connection object.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.TryLoadByPrimaryKey``1(Pfz.Databasing.Managers.IDatabaseConnection,System.Object[])">
            <summary>
            Tries to load a record by it's primary key.
            Returns null if it is not found.
            </summary>
            <typeparam name="T">The type of the record to load.</typeparam>
            <param name="connection">The connection and transaction to use for loading.</param>
            <param name="primaryKeyValues">The primaryKeyValues in order.</param>
            <returns>The loaded record or null.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.Create``1(Pfz.Databasing.Managers.IDatabaseConnection)">
            <summary>
            Creates a new (insert) record of the given type.
            </summary>
            <typeparam name="T">The type of the record. Must be a persisted one.</typeparam>
            <param name="connection">A connection if they are needed
            during object initialization.</param>
            <returns>The new created record, or throws an exception.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.Apply``1(Pfz.Databasing.Managers.IDatabaseConnection,``0)">
            <summary>
            Applies the given record to the database.
            Returns a new record which any modifications done to fully apply the 
            record, like auto-numbering. This can be the original record or a clone of it.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.FastLoadByPartialSql``1(Pfz.Databasing.Managers.IDatabaseConnection,System.String,System.Object[])">
            <summary>
            Executes a select for the given record type.
            The automatic created part of the select includes all fields, the from and the tablename.
            You can add the where clause or even some join. An order by is not indicated,
            as if child classes exist, they will be loaded after the main class, ignoring
            the order by.
            </summary>
            <typeparam name="T">The type of the record to build the select field list.</typeparam>
            <param name="connection">The connection to use for reading.</param>
            <param name="sql">The partialSql. You have two options of special parameters:<br/>
            [CSharpPropertyName] - This is converted into the database field name, if it is different;<br/>
            {CSharpPropertyName} - This will create a parameter with the right type for the given 
            CSharpPropertyName. In this case, you need to give a parameterValue for it.
            </param>
            <param name="parameterValues">The values, in order, for each C# 
            parameter declared in the sql clause using the {}.</param>
            <returns>An enumerable collection of read-only records.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.FastLoadByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Loads records using the given filter group.
            Joins must by created implicity if other records are referenced.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.CountRecordsByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Count the number of records of the given type that matches the filter.
            </summary>
            <typeparam name="T">The type of the record to count.</typeparam>
            <param name="connection">The connection to use.</param>
            <param name="filterGroup">A filter group, or null to count all records.</param>
            <returns>The number of found records.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.AdvancedLoad(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.AdvancedLoadParameters)">
            <summary>
            Gets an enumerator that selects the property values of the given 
            properties/propertypaths. Utilizes the initialRecordType to know where
            the select begins.
            </summary>
            <param name="connection">The connection used to load.</param>
            <param name="parameters">The parameters used for this advanced load call.</param>
            <returns>An enumerable collection of value arrays.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.CreateUserImplementation``1(``0)">
            <summary>
            Creates the UserImplementation object for the given non-IRecord type.
            </summary>
            <typeparam name="T">The type of the interface that is not an IRecord.</typeparam>
            <param name="record">The record object that also has this interface.</param>
            <returns>The UserImplementation class which implements such methods.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseManager.GetImplementedTypeFor(System.Type)">
            <summary>
            Gets the type of the implemented class for the given
            record type.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.IDatabaseManager.RecordClassGeneratorType">
            <summary>
            Gets the type of the RecordClassGenerator used by this database manager.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.IDatabaseManager.MustCloneBeforeApply">
            <summary>
            Gets a value indicating if the cloning is necessary before apply. 
            For example, when calling it remotelly the object on the remote side is already a clone,
            so no clonning is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.CreateConnection(System.String)">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.TryLoadByPrimaryKey``1(Pfz.Databasing.Managers.IDatabaseConnection,System.Object[])">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.Create``1(Pfz.Databasing.Managers.IDatabaseConnection)">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.Apply``1(Pfz.Databasing.Managers.IDatabaseConnection,``0)">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.FastLoadByPartialSql``1(Pfz.Databasing.Managers.IDatabaseConnection,System.String,System.Object[])">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.FastLoadByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.CountRecordsByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.AdvancedLoad(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.AdvancedLoadParameters)">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.CreateUserImplementation``1(``0)">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.TierBase.GetImplementedTypeFor(System.Type)">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Tiers.TierBase.BaseManager">
            <summary>
            Gets the BaseManager for this tier.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Tiers.TierBase.RecordClassGeneratorType">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Tiers.TierBase.MustCloneBeforeApply">
            <summary>
            By default, only calls the BaseManager.
            Can be reimplemented to do whatever you think is needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.Create``1(Pfz.Databasing.Managers.IDatabaseConnection)">
            <summary>
            Creates a new record and executes all the Initializers for the new
            created record.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.Apply``1(Pfz.Databasing.Managers.IDatabaseConnection,``0)">
            <summary>
            Executes all the before apply validators.
            Executes all the before apply value changers.
            Applies the record.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.ApplyWithoutValidations``1(Pfz.Databasing.Managers.IDatabaseConnection,``0)">
            <summary>
            Executes all the before apply value changers.
            Applies the record.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.Validate``1(Pfz.Databasing.Managers.IDatabaseConnection,``0)">
            <summary>
            Executes all the before apply validators.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetCreateRules``1">
            <summary>
            Gets a read-only collection of loaded Create rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetValidateInsertRules``1">
            <summary>
            Gets a read-only collection of loaded ValidateInsert rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetValidateUpdateRules``1">
            <summary>
            Gets a read-only collection of loaded ValidateUpdate rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetValidateDeleteRules``1">
            <summary>
            Gets a read-only collection of loaded ValidateDelete rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetBeforeApplyInsertRules``1">
            <summary>
            Gets a read-only collection of loaded BeforeApplyInsert rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetBeforeApplyUpdateRules``1">
            <summary>
            Gets a read-only collection of loaded BeforeApplyUpdate rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetBeforeApplyDeleteRules``1">
            <summary>
            Gets a read-only collection of loaded BeforeApplyDelete rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetAfterApplyInsertRules``1">
            <summary>
            Gets a read-only collection of loaded AfterApplyInsert rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetAfterApplyUpdateRules``1">
            <summary>
            Gets a read-only collection of loaded AfterApplyUpdate rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.GetAfterApplyDeleteRules``1">
            <summary>
            Gets a read-only collection of loaded AfterApplyDelete rules.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.BusinessRulesTier.AddSearchAssembly(System.Reflection.Assembly)">
            <summary>
            Adds an assembly to search for inheritors, and sets the SearchType
            to GivenAssemblies.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Tiers.BusinessRulesTier.RelationshipRulesMode">
            <summary>
            Gets or sets the way the relationships are validated.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Tiers.BusinessRulesTier.SearchMode">
            <summary>
            Gets or sets the search type for inheritors.
            The default is SameAssembly.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.ThreadTransaction">
            <summary>
            Class for managing a database transaction for the actual thread.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadTransaction.#ctor">
            <summary>
            Creates a new thread transaction.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadTransaction.Dispose">
            <summary>
            Frees the transaction. Possible rollbacking it if needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadTransaction.Commit">
            <summary>
            Commits the transaction, if this is the default one
            </summary>
            <returns>True if this is the transaction owner and the transaction
            was not requested to be roll backed.</returns>
        </member>
        <member name="P:Pfz.Databasing.ThreadTransaction.OwnsTransaction">
            <summary>
            Gets a value indicating if this is the real transaction owner,
            or if this is an "internal/nested" transaction.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.ThreadTransaction.Value">
            <summary>
            Gets the effective IDatabaseConnection being used.
            Do not commit or rollback this transaction. It is here only if
            you need to pass it to commands.
            </summary>
        </member>
        <member name="E:Pfz.Databasing.ThreadTransaction.Committing">
            <summary>
            Event that is executed just before the REAL transaction is committed.
            This is not called for internal/nested transactions.
            </summary>
        </member>
        <member name="E:Pfz.Databasing.ThreadTransaction.Committed">
            <summary>
            Event that is called just after the REAL commit is complete.
            Nested transactions with commits are ignored.
            </summary>
        </member>
        <member name="E:Pfz.Databasing.ThreadTransaction.Rollbacked">
            <summary>
            Event that is called just after the REAL transaction is rollbacked.
            Nested transactions are ignored.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.DatabaseManager">
            <summary>
            Holds the global value for the database manager used by this project.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.DatabaseManager.Get">
            <summary>
            Gets the Value or throws an exception if it is null.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.DatabaseManager.AddTier``1">
            <summary>
            Creates and adds a tier of the given type.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.DatabaseManager.GlobalValue">
            <summary>
            Gets or sets the manager used by all threads.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.DatabaseManager.Value">
            <summary>
            Gets the actual database manager for this thread.
            If you want to change the databasemanager only for one thread,
            use the ThreadDatabaseManager class to do the change.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.DateTimeConverter">
            <summary>
            Converts DateTime values to and from database.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.BaseDataTypeConverter">
            <summary>
            Does a basic implementation of IDirectDataTypeConverter, so it
            always call the version that receives a propertyInfo,
            passing only the last one as parameter.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.IDataTypeConverter">
            <summary>
            Interface that must be implemented by classes that do type
            conversion to and from one c# and database types.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.IDataTypeConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            Gets the DbType for the given type.
            Check the connection if you have different types for different databases.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.IDataTypeConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Converts a database value to the specific C# type.
            Use connection and propertyInfo to obtain additional data to 
            help conversion.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.IDataTypeConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Converts a C# value to database.
            Use connection and propertyInfo to obtain additional data to 
            help conversion.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.IDataTypeConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath,System.Object)">
            <summary>
            Converts a database value to the specific C# type.
            Use connection and propertyPath to obtain additional data to 
            help conversion.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.IDataTypeConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath,System.Object)">
            <summary>
            Converts a c# value to database.
            Use connection and propertyPath to obtain additional data to 
            help conversion.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.IDataTypeConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Gets the type as it is used in the create script sql.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.IDataTypeConverter.CanParseSubTypes">
            <summary>
            Returns a value indicating if this parser is capable of parsing
            sub-types of type T.
            See EnumConverter to see it in use.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.IDataTypeConverter.CSharpType">
            <summary>
            Gets the CSharpType that this interface is capable of converting.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BaseDataTypeConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            Gets the DbType for the given type.
            Check the connection if you have different types for different databases.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BaseDataTypeConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Converts a database value to the specific C# type.
            Use connection and propertyInfo to obtain additional data to 
            help conversion.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BaseDataTypeConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Converts a C# value to database.
            Use connection and propertyInfo to obtain additional data to 
            help conversion.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BaseDataTypeConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath,System.Object)">
            <summary>
            Calls the propertyInfo version, passing the last item in path.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BaseDataTypeConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath,System.Object)">
            <summary>
            Calls the propertyInfo version, passing the last item in path.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BaseDataTypeConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Must be reimplemented by childs to create the database type as it
            is used in the create table sql.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.BaseDataTypeConverter.CanParseSubTypes">
            <summary>
            Returns a value indicating if this parser is capable of parsing
            sub-types of type T.
            See EnumConverter to see it in use.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.BaseDataTypeConverter.CSharpType">
            <summary>
            Must return the type that can be converted.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DateTimeConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            DbType.DateTime.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DateTimeConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Convert.ToDateTime.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DateTimeConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Does nothing.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DateTimeConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Returns DateTime.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.DateTimeConverter.CanParseSubTypes">
            <summary>
            false.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.DateTimeConverter.CSharpType">
            <summary>
            typeof(DateTime)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Tiers.UserImplementation`1">
            <summary>
            Base class that you must inherit and implement to provide user
            implementation to interfaces that are not IRecord but are inherited
            by an IRecord.
            It is not possible to generate such constraint, but the UserImplementation
            must also implement the type T, which is of course an interface.
            </summary>
            <typeparam name="T">The type of the record this class implements methods for.</typeparam>
        </member>
        <member name="P:Pfz.Databasing.Tiers.UserImplementation`1.Record">
            <summary>
            Gets the record to which this class is providing implementation.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.Rule`1">
            <summary>
            Basic implementation of IRule class, so you only need to implement
            the generic method.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.BusinessRules.Rule`1.Execute(Pfz.Databasing.Tiers.BusinessRulesTier,Pfz.Databasing.Managers.IDatabaseConnection,`0)">
            <summary>
            Keeps it abstract, so you must implement it in your rule.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IValidateUpdateRule`1">
            <summary>
            Rule that is invoked just before an update record is applied.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IAfterApplyDeleteRule`1">
            <summary>
            Rule that is invoked just after a delete record is applied.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DatabaseNullableAttribute">
            <summary>
            By default, all fields are non-nullable when they go to the database.
            Use this attribute to mark fields that are nullable.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.DatabaseScriptGenerator">
            <summary>
            Test database script generator. Will change.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.DatabaseScriptGenerator.GenerateAll">
            <summary>
            Generates the script for all loaded assemblies.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.DatabaseScriptGenerator.GenerateFor(System.Reflection.Assembly)">
            <summary>
            Generate script for all found database types in the given assembly.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.DatabaseScriptGenerator.GenerateFor(System.Type)">
            <summary>
            Generates scripts for the given assembly.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.DatabaseScriptGenerator.ApplyToDatabase">
            <summary>
            Executes all generated scripts over the actual database.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.DatabaseScriptGenerator.CreateTableScripts">
            <summary>
            Gets the scripts to create tables.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.DatabaseScriptGenerator.AlternateKeyScripts">
            <summary>
            Gets the scripts to create alternate keys.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.DatabaseScriptGenerator.ForeignKeyScripts">
            <summary>
            Gets the scripts to generate foreign keys.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.DatabaseScriptGenerator.AllScripts">
            <summary>
            Gets an enumerator over all the scripts.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.DateConverter">
            <summary>
            Converts Date values to and from database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DateConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            DbType.Date.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DateConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            (Date)Convert.ToDateTime.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DateConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Converts the value to DateTime.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DateConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Actually it is implemented for SqlServer, so it always returns DateTime.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.DateConverter.CanParseSubTypes">
            <summary>
            false.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.DateConverter.CSharpType">
            <summary>
            typeof(Date)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.RecordBase">
            <summary>
            Base class used in auto-implemented records.
            You can also create classes derived from it if you need to create a
            non-persisted record.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.IRecord">
            <summary>
            Base interface for any database "Record".
            You must simple create these interfaces and mark any real object which
            [DatabasePersistedAttribute]. The read/write properties will be threated as 
            database fields. If this is to be avoided, use [DatabaseIgnoredAttribute] 
            and, if you need an special name, different than the class/property name, 
            use [DatabaseNameAttribute].
            </summary>
        </member>
        <member name="M:Pfz.Databasing.IRecord.GetMustDeleteOnApply">
            <summary>
            Gets a value determining if this record must be
            deleted if it is applied.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.IRecord.Delete">
            <summary>
            Marks the actual record for deletion.
            Can only be used on read-only records.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.IRecord.CancelDelete">
            <summary>
            Unmarks the actual record for deletion.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.IRecord.GetRecordMode">
            <summary>
            Gets the RecordMode of this record.
            It can be ReadOnly, Insert, Update or Delete.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.IRecord.GetUntypedOldRecord">
            <summary>
            Gets the old record for this Update record.
            This value is always null for other record-types.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.IRecord.UntypedCreateUpdateRecord">
            <summary>
            Creates a clone from this read-only record prepared for update.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.RecordBase.Empty">
            <summary>
            Gets an empty RecordBase instance.
            This is used in the ThreadErrors when there is no record.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.#ctor">
            <summary>
            The constructor is internal so the class must be inherited.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.GetMustDeleteOnApply">
            <summary>
            Gets a value determining if this record must be
            deleted if it is applied.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.SetMustDeleteOnApply(System.Boolean)">
            <summary>
            Sets the MustDeleteOnApply field without doing any checking.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.Delete">
            <summary>
            Marks the actual record for deletion.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.CancelDelete">
            <summary>
            Unmarks the actual record for deletion.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.GetRecordMode">
            <summary>
            Gets the recordMode of this record.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.SetRecordMode(Pfz.Databasing.RecordMode)">
            <summary>
            Sets the record-mode without any checking.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.GetUntypedOldRecord">
            <summary>
            Gets the OldRecord, if one exists (only for update).
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.SetUntypedOldRecord(Pfz.Databasing.IRecord)">
            <summary>
            Sets the OldRecord without any checking.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.UntypedCreateUpdateRecord">
            <summary>
            Throws a NotImplementedException.
            If you need it, override it and don't call base.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordBase.Clone">
            <summary>
            Throws a NotImplementedException.
            If you need it, override it and don't call base.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Tiers.UserImplementationTier">
            <summary>
            Tier that redirects calls to non-database properties to the appropriate
            UserImplementation class. This tier can be used in client (avoiding remote 
            calls) or in the server. If some methods need to be in client and some methods 
            need to be on the server, separate them in two interfaces, one implemented 
            locally and one on the server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.UserImplementationTier.CreateUserImplementation``1(``0)">
            <summary>
            Creates the appropriate UserImplementation class.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.UserImplementationTier.AddSearchAssembly(System.Reflection.Assembly)">
            <summary>
            Adds an assembly to search for inheritors, and sets the SearchType
            to GivenAssemblies.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Tiers.UserImplementationTier.SearchMode">
            <summary>
            Gets or sets the search type for inheritors.
            The default is SameAssembly.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Filtering.Filter">
            <summary>
            Class used to represent a single filter in the sense of
            DatabaseField Operation Value.
            Example: Name LIKE 'Test%';
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Filtering.Filter.#ctor(Pfz.Databasing.Managers.PropertyInfoPath,Pfz.Databasing.Filtering.FilterOperation,System.Object)">
            <summary>
            Creates the new filter object with the given property path, operation
            and value.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Filtering.Filter.Clone">
            <summary>
            Clones the actual filter.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Filtering.Filter.Path">
            <summary>
            Gets the path of the properties used for the field.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Filtering.Filter.Operation">
            <summary>
            Gets the operation performed by the filter.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Filtering.Filter.Value">
            <summary>
            Gets the value used by the filter.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.RecordValidateInsertUpdateRule">
            <summary>
            Standard validator that verifies if a reference to a non-persisted
            interface is valid. This is done by verifying if a record exist in any
            of the persisted interfaces.
            This validator is only enabled if the InheritanceTier is enabled.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IValidateInsertRule`1">
            <summary>
            Rule that is invoked just before an insert record is applied.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.BusinessRules.RecordValidateInsertUpdateRule.Execute(Pfz.Databasing.Tiers.BusinessRulesTier,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.IRecord)">
            <summary>
            Verifies the required fields and if all the referenced records exist.
            </summary>
        </member>
        <member name="T:Pfz_Databasing_IRecord_Extensions">
            <summary>
            Adds the GetTypedOldRecord method.
            </summary>
        </member>
        <member name="M:Pfz_Databasing_IRecord_Extensions.GetOldRecord``1(``0)">
            <summary>
            Gets the OldRecord typed to the same type of Record.
            </summary>
        </member>
        <member name="M:Pfz_Databasing_IRecord_Extensions.Apply``1(``0)">
            <summary>
            Applies the actual record using the ThreadConnection.
            </summary>
            <typeparam name="T">The type of the record to apply.</typeparam>
            <param name="record">The record to apply.</param>
            <returns>The "new" effective record.</returns>
        </member>
        <member name="M:Pfz_Databasing_IRecord_Extensions.CopyValuesFrom``1(``0,``0)">
            <summary>
            Clones the values from source to the actual record.
            They must be of the exactly same type.
            </summary>
        </member>
        <member name="M:Pfz_Databasing_IRecord_Extensions.RevertChanges(Pfz.Databasing.IRecord)">
            <summary>
            Reverts the modifications done to this update record.
            </summary>
        </member>
        <member name="M:Pfz_Databasing_IRecord_Extensions.CreateUpdateRecord``1(``0)">
            <summary>
            Clones the actual read-only record for update.
            </summary>
        </member>
        <member name="M:Pfz_Databasing_IRecord_Extensions.GetPrimaryKeyValues(Pfz.Databasing.IRecord)">
            <summary>
            Gets the primary key of the actual record.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.NullableConverter">
            <summary>
            Converts Nullable values.
            In fact, it only recognizes a nullable type and calls the real
            type converter (the non-nullable one).
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.NullableConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            Gets the db type of the real type.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.NullableConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Calls the real type converter.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.NullableConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Calls the real type converter.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.NullableConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Returns the type from the real type (as this it is a nullable of something).
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.NullableConverter.CanParseSubTypes">
            <summary>
            Does not parses sub-types.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.NullableConverter.CSharpType">
            <summary>
            Nullable generic type.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.Int64Converter">
            <summary>
            Converts Int64 values to and from database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int64Converter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            DbType.Int64.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int64Converter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Convert.ToInt64.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int64Converter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Does nothing.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int64Converter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Returns BigInt.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.Int64Converter.CanParseSubTypes">
            <summary>
            false.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.Int64Converter.CSharpType">
            <summary>
            typeof(Int64)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Filtering.FilterGroup">
            <summary>
            Represents a group of filters, that work together by AND or OR clauses.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Filtering.FilterGroup.#ctor">
            <summary>
            Creates the new group using the AND grouping operator.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Filtering.FilterGroup.#ctor(Pfz.Databasing.Filtering.FilterGroupMode)">
            <summary>
            Creates the new group using the given grouping operator.
            </summary>
            <param name="groupMode"></param>
        </member>
        <member name="M:Pfz.Databasing.Filtering.FilterGroup.Add(Pfz.Databasing.Managers.PropertyInfoPath,System.Object)">
            <summary>
            Adds a new filter using the given path and value. The operator used 
            is EqualTo.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Filtering.FilterGroup.Add(Pfz.Databasing.Managers.PropertyInfoPath,Pfz.Databasing.Filtering.FilterOperation,System.Object)">
            <summary>
            Adds a new filter using the given path, operation and value.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Filtering.FilterGroup.AddSubGroup(Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Adds an existing group as a sub-group.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Filtering.FilterGroup.AddSubGroup">
            <summary>
            Adds a new sub-group, of type AND.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Filtering.FilterGroup.AddSubGroup(Pfz.Databasing.Filtering.FilterGroupMode)">
            <summary>
            Adds a new sub-group, with the given groupMode.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Filtering.FilterGroup.Clone">
            <summary>
            Clones the actual filter group.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Filtering.FilterGroup.GroupMode">
            <summary>
            Gets the grouping operator used by this group.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Filtering.FilterGroup.SubGroups">
            <summary>
            Gets the sub-groups.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Filtering.FilterGroup.Filters">
            <summary>
            Gets the filters.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Record">
            <summary>
            Provides methods for creating and reading Records easily.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.CreateThreadConnection">
            <summary>
            Creates a new default thread connection.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.CreateThreadConnection(System.String)">
            <summary>
            Creates a new thread connection using the given connection name.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.Create``1">
            <summary>
            Creates a database record for insert of the given type.
            </summary>
            <typeparam name="T">The type of the record.</typeparam>
            <returns>A new created record, for insert.</returns>
        </member>
        <member name="M:Pfz.Databasing.Record.LoadByPrimaryKey``1(System.Object[])">
            <summary>
            Loads a record by it's primary key values.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.TryLoadByPrimaryKey``1(System.Object[])">
            <summary>
            Tries to load a record by it's primary key values.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.FastLoadByPartialSql``1(System.String,System.Object[])">
            <summary>
            Returns a fast-enumerator to read all records from the given partial sql.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.LoadByPartialSql``1(System.String,System.Object[])">
            <summary>
            Returns a custom enumerable collection to read all records from the given
            partial sql. Consider using FastLoadByPartialSql if possible.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.FastLoadByLinqFilter``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
            <summary>
            Loads records using a linq filter.
            Returns a FastEnumerator.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.LoadByLinqFilter``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
            <summary>
            Loads records by a linq filter.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.FastLoadByFilterGroup``1(Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Gets a fast enumerator to read all records from the given filterGroup.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.LoadByFilterGroup``1(Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Gets an enumerator to read all the records from the given filter group.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Record.GetQuery``1">
            <summary>
            Gets a new query for the specific record type.
            </summary>
            <typeparam name="T">The type of the record to create a query for.</typeparam>
        </member>
        <member name="M:Pfz.Databasing.Record.CreateFilterGroupFromLinqFilter``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
            <summary>
            Creates a filtergroup from a linq expression.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.LocalDatabaseConnection">
            <summary>
            Implements the IDatabaseConnection to be used with local connections and
            transactions.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.IDatabaseConnection">
            <summary>
            Interface used to control a connection and a transaction at the same time.
            It also does not provides methods for creating commands or getting the real transaction,
            so direct access to the database is completelly forbidden in remote environments.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseConnection.BeginTransaction">
            <summary>
            Begins a transaction.
            Must throw an exception if one is already open.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseConnection.CommitTransaction">
            <summary>
            Commits the actual transaction.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.IDatabaseConnection.RollbackTransaction">
            <summary>
            Rollsbacks the actual transaction.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.IDatabaseConnection.HasActiveTransaction">
            <summary>
            Gets a value indicating if there is actually an open transaction.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseConnection.#ctor(System.Data.IDbConnection)">
            <summary>
            Initializes this ConnectionAndTransaction with the given DbConnection.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseConnection.Dispose">
            <summary>
            Disposes the connection and the transaction.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseConnection.BeginTransaction">
            <summary>
            Begins a new transaction.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseConnection.CommitTransaction">
            <summary>
            Commits the active transaction.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseConnection.RollbackTransaction">
            <summary>
            Rollbacks the active transaction.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseConnection.CreateCommand">
            <summary>
            Creates a new command and sets it's transaction if one is active.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.LocalDatabaseConnection.Connection">
            <summary>
            Gets the DbConnection of this Connection.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.LocalDatabaseConnection.ActiveTransaction">
            <summary>
            Gets the ActiveTransaction for this connection, or null if there is none.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.LocalDatabaseConnection.HasActiveTransaction">
            <summary>
            Gets a value indicating if there is an active transaction.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.ICreateRule`1">
            <summary>
            Interface that must be implemented by business rules objects that
            are called just when a record is created.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.RecordValidateDeleteRule">
            <summary>
            Standard validator that forbids a record to be deleted if it has "non-persisted" childs.
            It does not validates persisted childs, as these are automatically validated by the database.
            This validator is only enabled if the InheritanceTier is enabled.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IValidateDeleteRule`1">
            <summary>
            Rule that is invoked just before a delete record is applied.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.BusinessRules.RecordValidateDeleteRule.Execute(Pfz.Databasing.Tiers.BusinessRulesTier,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.IRecord)">
            <summary>
            Verifies if the the actual record has any childs that avoids deletion.
            If it has one or more, it can't be deleted.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DatabaseNameAttribute">
            <summary>
            Attribute that can be applied to classes of properties to tell they have a
            different name on the database. For example:
            MyProject.Person class can have the attribute to tell that it's database 
            name is MP_PERSON.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseNameAttribute.#ctor(System.String)">
            <summary>
            Creates the DatabaseName attribute, setting it's value to the real
            database name.
            </summary>
            <param name="value">The value used for this class or property when
            acessing the real database.</param>
        </member>
        <member name="P:Pfz.Databasing.DatabaseNameAttribute.Value">
            <summary>
            The value used by the class or property when acessing the real database.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DatabaseLengthAttribute">
            <summary>
            Use this attribute over string or byte array properties to set their 
            maxlength in database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseLengthAttribute.#ctor(System.Int32)">
            <summary>
            Creates this maxlength attribute with the given value.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DatabaseLengthAttribute.Value">
            <summary>
            The effective value of this property.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.DecimalConverter">
            <summary>
            Converts Decimal values to and from database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DecimalConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            DbType.Decimal.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DecimalConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Convert.ToDecimal.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DecimalConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Does nothing.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.DecimalConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Returns Numeric(x, y).
            If the [DatabasePrecisionAndScale] is not set, defaults to 18,2.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.DecimalConverter.CanParseSubTypes">
            <summary>
            false.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.DecimalConverter.CSharpType">
            <summary>
            typeof(Decimal)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IAfterApplyUpdateRule`1">
            <summary>
            Rule that is invoked just after an update record is applied.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.Int32Converter">
            <summary>
            Converts Int32 values to and from database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int32Converter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            DbType.Int32.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int32Converter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Convert.ToInt32.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int32Converter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Does nothing.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int32Converter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Returns Int.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.Int32Converter.CanParseSubTypes">
            <summary>
            false.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.Int32Converter.CSharpType">
            <summary>
            typeof(Int32)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DatabaseValidationException">
            <summary>
            Exception that is thrown by DatabaseValidationErrors class.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DatabaseException">
            <summary>
            Exception thrown by specific errors during the use of the Pfz.Databasing
            framework.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseException.#ctor">
            <summary>
            Exception pattern.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseException.#ctor(System.String)">
            <summary>
            Exception pattern.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseException.#ctor(System.String,System.Exception)">
            <summary>
            Exception pattern.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Exception pattern.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseValidationException.#ctor">
            <summary>
            Exception pattern.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseValidationException.#ctor(System.String)">
            <summary>
            Exception pattern.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseValidationException.#ctor(System.String,System.Exception)">
            <summary>
            Exception pattern.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseValidationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Reads the ValidationErrorsDictionary.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseValidationException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Restores the validation error dictionary.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DatabaseValidationException.#ctor(System.Collections.Generic.Dictionary{Pfz.Databasing.IRecord,System.Collections.Generic.HashSet{System.Object}})">
            <summary>
            Creates the exception based on a validation errors dictionary.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DatabaseValidationException.ValidationErrorsDictionary">
            <summary>
            Gets the dictionary with the errors that caused this exception.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.ThreadDatabaseManager">
            <summary>
            Class used to change the DatabaseManager for the actual "thread-scope".
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadDatabaseManager.#ctor(Pfz.Databasing.Managers.IDatabaseManager)">
            <summary>
            Creates the ThreadDatabaseManager changing the manager to be used.
            Passing a value of null will force the usage of the GlobalValue.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadDatabaseManager.Dispose">
            <summary>
            Restores the OldManager.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.PrimaryKeyAttribute">
            <summary>
            Used to mark one or more properties as the PrimaryKey for a Record.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.TimeConverter">
            <summary>
            Converts Time values to and from database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.TimeConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            DbType.Time.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.TimeConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            (Time)Convert.ToDateTime.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.TimeConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Converts the value to DateTime.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.TimeConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Actually, returns "DateTime."
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.TimeConverter.CanParseSubTypes">
            <summary>
            false.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.TimeConverter.CSharpType">
            <summary>
            typeof(Time)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.ThreadConnection">
            <summary>
            Class used to manage the "actual" connection of a thread.
            You must guarantee that the connection is opened.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadConnection.Get">
            <summary>
            Gets the Value or throws an exception if it is null.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadConnection.#ctor(Pfz.Databasing.Managers.IDatabaseConnection,System.Boolean)">
            <summary>
            Creates the ThreadConnection object setting the actual connection
            to the given one.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadConnection.Dispose">
            <summary>
            Restores the oldconnection for the thread.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.ThreadConnection.Value">
            <summary>
            Gets or sets the actual threadconnection, without expecting to
            "cancel" the modification.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.EnumConverter">
            <summary>
            Parses enums to and from database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.EnumConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            Returns the database type for the underlying type.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.EnumConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Converts the value to the enum value.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.EnumConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Converts the enum value to database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.EnumConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Returns the script for the underlying type.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.EnumConverter.CSharpType">
            <summary>
            Returns typeof(enum).
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.EnumConverter.CanParseSubTypes">
            <summary>
            True. It can parse any enum.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.StringConverter">
            <summary>
            Converts String values to and from database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.StringConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            DbType.String.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.StringConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Convert.ToString.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.StringConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Does nothing.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.StringConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            If the property contains the [DatabaseLength] attribute, and it is
            1, returns CHAR.
            Else, returns varchar (or the length from database length, or 255).
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.StringConverter.CanParseSubTypes">
            <summary>
            false.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.StringConverter.CSharpType">
            <summary>
            typeof(String)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.RecordQuery`1">
            <summary>
            Basic linq support for the queries.
            </summary>
            <typeparam name="T">The type of the returned data.</typeparam>
        </member>
        <member name="M:Pfz.Databasing.RecordQuery`1.GetFastEnumerator">
            <summary>
            Gets a fast enumerator to read all the records of the actual query.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordQuery`1.GetEnumerator">
            <summary>
            Gets an enumerator to read the data.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordQuery`1.Select``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
            <summary>
            Generates a new query that gets only the selected field(s).
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordQuery`1.Where(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
            <summary>
            Generates a new query adding the given filter.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordQuery`1.Distinct">
            <summary>
            Returns a new record query (if needed) with distinct flag set.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordQuery`1.Count">
            <summary>
            Return the number of records that match the actual query.
            It counts only the number of actual records, not caring if they
            contain null values or not.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.RecordQuery`1.SetJoinMode(Pfz.Databasing.JoinMode)">
            <summary>
            Sets the join mode for the fields in the select clause if they require joins.
            By default, the join mode is inner.
            </summary>
            <param name="joinMode">The joinMode to use.</param>
        </member>
        <member name="T:Pfz.Databasing.Tiers.RelationshipValidationMode">
            <summary>
            Enum used in BusinessRulesTier to tell how relationships must
            be validated.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Tiers.RelationshipValidationMode.ValidateAll">
            <summary>
            Validates all references, be them to persisted or non-persisted
            records.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Tiers.RelationshipValidationMode.ValidateNonPersistedOnly">
            <summary>
            Only validates non-persisted records, as the database don't do this.
            Persisted ones will get errors from the database.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Tiers.RelationshipValidationMode.DontValidate">
            <summary>
            Don't do any validation. This is only usefull if used remotelly,
            if the remote side do the validation, or if you are really sure
            no violation will be created.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IBeforeApplyInsertRule`1">
            <summary>
            Rule that is invoked just before an insert record is applied.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Extensions.DatabaseNameExtensions.PfzDatabaseNameExtensions">
            <summary>
            Provides extensions methods to get DatabaseName values for types and
            properties.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Extensions.DatabaseNameExtensions.PfzDatabaseNameExtensions.GetDatabaseName(System.Type)">
            <summary>
            Gets the database name of a given type.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Extensions.DatabaseNameExtensions.PfzDatabaseNameExtensions.GetDatabaseName(System.Reflection.MemberInfo)">
            <summary>
            Gets the database name for a given property.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.RemoteDatabaseManager">
            <summary>
            Use this class to connect to a remote database manager.
            It automatically reconnects after a connection lost.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.#ctor(System.String,System.Int32)">
            <summary>
            Creates to a database manager using the given host and port.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.Dispose">
            <summary>
            Closes the connection.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.TryLoadByPrimaryKey``1(Pfz.Databasing.Managers.IDatabaseConnection,System.Object[])">
            <summary>
            Redirects the call to the remote server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.Create``1(Pfz.Databasing.Managers.IDatabaseConnection)">
            <summary>
            Connects if needed and redirects the call to the remote server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.Apply``1(Pfz.Databasing.Managers.IDatabaseConnection,``0)">
            <summary>
            Redirects the call to the remote server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.FastLoadByPartialSql``1(Pfz.Databasing.Managers.IDatabaseConnection,System.String,System.Object[])">
            <summary>
            Redirects the call to the remote server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.CreateConnection(System.String)">
            <summary>
            Connects if needed and redirects the call to the remote server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.FastLoadByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Redirects the call to the remote server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.CountRecordsByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Redirects the call to the remote server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.AdvancedLoad(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.AdvancedLoadParameters)">
            <summary>
            Redirects the call to the remote server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.CreateUserImplementation``1(``0)">
            <summary>
            Redirects the call to the remote server.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RemoteDatabaseManager.GetImplementedTypeFor(System.Type)">
            <summary>
            Redirects the call to the remote host.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.RemoteDatabaseManager.RecordClassGeneratorType">
            <summary>
            Redirects the call to the remote host.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.SerializerDatabaseManager">
            <summary>
            Creates a "database" manager that works over files and directories instead of
            a real database. Good only for small projects, as there is no indexing or
            transaction support.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.#ctor(System.String)">
            <summary>
            Creates the SerializerDatabaseManager using the given path and the BinaryFormatter.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.#ctor(System.String,System.Runtime.Serialization.IFormatter)">
            <summary>
            Creates the SerializerDatabaseManager using the given path and formatter.
            </summary>
            <param name="basePath">The directory that is considered the "root" for the databases.</param>
            <param name="formatter">The formatter used to read and write the records/files.</param>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.CreateConnection(System.String)">
            <summary>
            Uses the base path + the given name as the "database".
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.TryLoadByPrimaryKey``1(Pfz.Databasing.Managers.IDatabaseConnection,System.Object[])">
            <summary>
            Tries to load a record of type T with the given primary key values.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.Create``1(Pfz.Databasing.Managers.IDatabaseConnection)">
            <summary>
            Creates a new record.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.Apply``1(Pfz.Databasing.Managers.IDatabaseConnection,``0)">
            <summary>
            Applies the given record.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.FastLoadByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Loads records using the given filter.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.CountRecordsByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Return the count of records that matches the given filter.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.AdvancedLoad(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.AdvancedLoadParameters)">
            <summary>
            Loads records using the AdvancedLoadParameters.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.SerializerDatabaseManager.GetImplementedTypeFor(System.Type)">
            <summary>
            Gets the implemented class type for the given record type.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.SerializerDatabaseManager.BasePath">
            <summary>
            Gets the base directory path used by this manager.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.SerializerDatabaseManager.Formatter">
            <summary>
            Gets the formatter used by this manager.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.SerializerDatabaseManager.MustCloneBeforeApply">
            <summary>
            Always returns true.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.SerializerDatabaseManager.RecordClassGeneratorType">
            <summary>
            Gets the type of the generator used by this class.
            Returns the typeof(RecordClassGenerator).
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.Int16Converter">
            <summary>
            Converts Int16 values to and from database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int16Converter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            DbType.Int16.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int16Converter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Convert.ToInt16.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int16Converter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Does nothing.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.Int16Converter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Returns smallint.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.Int16Converter.CanParseSubTypes">
            <summary>
            false.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.Int16Converter.CSharpType">
            <summary>
            typeof(Int16)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Filtering.FilterOperation">
            <summary>
            Enum used to filter a records.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.EqualTo">
            <summary>
            The default operation.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.DifferentThan">
            <summary>
            Value of the record must be different from value passed as parameter.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.GreaterThan">
            <summary>
            Value of the record must be greater than value passed as parameter.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.GreaterOrEqual">
            <summary>
            Value of the record must be greater than or equal to value passed as parameter.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.LessThan">
            <summary>
            Value of the record must be less than value passed as parameter.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.LessOrEqual">
            <summary>
            Value of the record must be less than or equal to value passed as parameter.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.Like">
            <summary>
            Uses the SQL Like operator.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.NotLike">
            <summary>
            Uses the SQL Like operator, enclosed with NOT.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.In">
            <summary>
            Uses the SQL in operator.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.NotIn">
            <summary>
            Uses the SQL NOT IN operator.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.StringStartsWith">
            <summary>
            Special item for string.StartsWith.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.StringEndsWith">
            <summary>
            Special item for string.EndsWith
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.StringContains">
            <summary>
            Special item for string.Contains
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.StringNotStartsWith">
            <summary>
            Special item for !string.StartsWith
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.StringNotEndsWith">
            <summary>
            Special item for !string.EndsWith
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterOperation.StringNotContains">
            <summary>
            Special item for !string.Contains
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Filtering.FilterGroupMode">
            <summary>
            Grouping mode for filters.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterGroupMode.And">
            <summary>
            Each new item in the group is added with the And clause.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Filtering.FilterGroupMode.Or">
            <summary>
            Each new item in the group is added with the Or clause.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.ThreadErrors">
            <summary>
            Use this class if you want to "pack" many database errors at once, or
            use it's statics methods to add, get or clear errors.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadErrors.#ctor(Pfz.Databasing.IRecord)">
            <summary>
            Creates a new database error "pack".
            </summary>
            <param name="record"></param>
        </member>
        <member name="M:Pfz.Databasing.ThreadErrors.Dispose">
            <summary>
            Disposes this object and maybe throws and exception if there
            are errors.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadErrors.GetErrorDictionary">
            <summary>
            Gets the dictionary with the errors.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadErrors.ClearErrors">
            <summary>
            Clear all the errors.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ThreadErrors.AddError(System.Object)">
            <summary>
            Adds an error to the packet, or throws an exception immediatelly.
            In general errors are string, but you can add any object if you
            know how to use it later.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.ThreadErrors.HasErrors">
            <summary>
            Gets a value indicating if there are errors packed.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.RecordEventArgs">
            <summary>
            Class used to pass records as event arguments.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.RecordEventArgs.Record">
            <summary>
            Gets or sets the record.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.RecordEventArgs`1">
            <summary>
            Typed version of RecordEventArgs.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.RecordEventArgs`1.Record">
            <summary>
            Gets or sets the typed Record.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.LocalDatabaseManager">
            <summary>
            Does the most basic implementation to be able to use the Databasing
            framework. It does not threat special types, but is able to do the
            basic conversions.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.#ctor">
            <summary>
            Protected constructor. So, or you inherit it and do your code,
            or you use the DefaultValue property.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.CreateConnection(System.String)">
            <summary>
            Creates a new connection given the name from ConnectionStrings app configuration.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.TryLoadByPrimaryKey``1(Pfz.Databasing.Managers.IDatabaseConnection,System.Object[])">
            <summary>
            Loads a record by it's PrimaryKey values.
            This is called by the lazy-load of references.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.Create``1(Pfz.Databasing.Managers.IDatabaseConnection)">
            <summary>
            Simple calls RecordImplementer.Create.
            You can override this and create some initialization logic if you need.
            </summary>
            <typeparam name="T">The type of the record to create.</typeparam>
            <returns>A new empty record.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.Create``1(System.Data.IDbCommand,System.Object[])">
            <summary>
            Simple calls RecordImplementer.Create.
            You can override this and create some initialization logic if you need.
            </summary>
            <typeparam name="T">The type of the record to create.</typeparam>
            <param name="command">The command from which the values where read.</param>
            <param name="databaseValues">The values as they came from the database.</param>
            <returns>A new empty record.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.GetDbType(Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            Returns the db type for the given c# type.
            Use the connection if you thread the type differently for each
            database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.ChangeTypeFromDatabase``1(Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Converts DBNull.Value into null or default.
            If nullable, discovers the real type before calling Convert.ChangeType.
            </summary>
            <typeparam name="T">The type of the C# result.</typeparam>
            <param name="connection">The connection, if you check the connection type to decide what to do.</param>
            <param name="propertyInfo">The propertyInfo of the property about to be set.</param>
            <param name="value">The value as it comes from the database.</param>
            <returns>The value converted to the right type.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.ChangeTypeFromDatabase``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath,System.Object)">
            <summary>
            Converts DBNull.Value into null or default.
            If nullable, discovers the real type before calling Convert.ChangeType.
            </summary>
            <typeparam name="T">The type of the C# result.</typeparam>
            <param name="connection">The connection, if you check connection to do different conversions.</param>
            <param name="propertyPath">The path of the referenced property.</param>
            <param name="value">The value as it comes from the database.</param>
            <returns>The value converted to the right type.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.AddParameter(Pfz.Databasing.Managers.IDatabaseConnection,System.Data.IDbCommand,System.String,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Adds a parameter and tries to set DbType.
            It will throw an exception for special types.
            </summary>
            <param name="connection">The connection.</param>
            <param name="command">The command in which the parameter is added.</param>
            <param name="parameterName">The name given to the parameter.</param>
            <param name="propertyInfo">The propertyInfo from which the value will come.</param>
            <param name="value">The effective value to set.</param>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.AddParameter(Pfz.Databasing.Managers.IDatabaseConnection,System.Data.IDbCommand,System.String,Pfz.Databasing.Managers.PropertyInfoPath,System.Object)">
            <summary>
            Adds a parameter and tries to set DbType.
            It will throw an exception for special types.
            </summary>
            <param name="connection">The connection.</param>
            <param name="command">The command in which the parameter is added.</param>
            <param name="parameterName">The name given to the parameter.</param>
            <param name="propertyPath">The path of the property if you need extra information.</param>
            <param name="value">The effective value to set.</param>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.CreateParameter(Pfz.Databasing.Managers.IDatabaseConnection,System.Data.IDbCommand,System.String,System.Reflection.PropertyInfo)">
            <summary>
            Creates a parameter without setting it's value, but will try
            to set the DbType. It will throw an exception for special types.
            </summary>
            <param name="connection">The connection.</param>
            <param name="command">The command in which the parameter is added.</param>
            <param name="parameterName">The name given to the parameter.</param>
            <param name="propertyInfo">The propertyInfo from which the value will come.</param>
            <returns>The newly created parameter, which was already added to the command Parameters.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.CreateParameter(Pfz.Databasing.Managers.IDatabaseConnection,System.Data.IDbCommand,System.String,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Creates a parameter without setting it's value, but will try
            to set the DbType. It will throw an exception for special types.
            </summary>
            <param name="connection">The connection.</param>
            <param name="command">The command in which the parameter is added.</param>
            <param name="parameterName">The name given to the parameter.</param>
            <param name="propertyPath">The path from which the value will come.</param>
            <returns>The newly created parameter, which was already added to the command Parameters.</returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.SetParameterValue(Pfz.Databasing.Managers.IDatabaseConnection,System.Data.IDbCommand,System.Data.IDbDataParameter,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Sets a parameter value previosly created.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.SetParameterValue(Pfz.Databasing.Managers.IDatabaseConnection,System.Data.IDbCommand,System.Data.IDbDataParameter,Pfz.Databasing.Managers.PropertyInfoPath,System.Object)">
            <summary>
            Sets the value to a given parameter.
            Use the propertyPath if you need more information about the value being
            set.
            </summary>
            <param name="connection">The connection.</param>
            <param name="command">The command, if you check command/connection to decide how to set the parameter.</param>
            <param name="parameter">The parameter to set the value to.</param>
            <param name="propertyPath">The path of the referenced if you need more information about it.</param>
            <param name="value">The value to set. You must correct it for the database type.</param>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.Apply``1(Pfz.Databasing.Managers.IDatabaseConnection,``0)">
            <summary>
            Applies the given record using the given transaction.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.FastLoadByCommand``1(Pfz.Databasing.Managers.IDatabaseConnection,System.Data.IDbCommand)">
            <summary>
            Loads a record using the given command.
            The command must load all fields in the right order.
            Returns a fast enumerator.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.FastLoadByPartialSql``1(Pfz.Databasing.Managers.IDatabaseConnection,System.String,System.Object[])">
            <summary>
            Returns a fast enumerator to read records using the given
            partial SQL (sql that comes after the select and from clause,
            that is built for you).
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.AddDataTypeConverter(Pfz.Databasing.DataTypeConverters.IDataTypeConverter)">
            <summary>
            Adds a data-type converter.
            If one for the same type already exists, the old one is 
            replaced.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.GetDataTypeConverter(System.Type)">
            <summary>
            Gets the data-type converter for the given type, or throws
            an exception.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.TryGetDataTypeConverter(System.Type)">
            <summary>
            Gets the data-type converter for the given type, or returns
            null.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.FastLoadByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Loads records using the given filter group.
            Joins must by created implicity if other records are referenced.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.CountRecordsByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Returns the number of records that matches the given filter.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.AdvancedLoad(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.AdvancedLoadParameters)">
            <summary>
            Creates a reader for the given query.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.CreateUserImplementation``1(``0)">
            <summary>
            Throws NotImplementedException.
            Use UserImplementationTier if you want to provide custom
            implementation for non-database interfaces in database
            records.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalDatabaseManager.GetImplementedTypeFor(System.Type)">
            <summary>
            Returns the implemented type for the given interface type.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.LocalDatabaseManager.Value">
            <summary>
            A singleton value that does the most basic functionality.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.LocalDatabaseManager.MustCloneBeforeApply">
            <summary>
            Returns true.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.LocalDatabaseManager.RecordClassGeneratorType">
            <summary>
            Returns typeof(LocalRecordClassGenerator)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DataTypeConverters.BooleanConverter">
            <summary>
            Converts Boolean values to and from database.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BooleanConverter.GetDbType(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Type)">
            <summary>
            DbType.Boolean.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BooleanConverter.ConvertFromDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Convert.ToBoolean.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BooleanConverter.ConvertToDatabase(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Does nothing.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.DataTypeConverters.BooleanConverter.GetCreateSqlTypeString(Pfz.Databasing.Managers.LocalDatabaseManager,Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Returns BIT.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.BooleanConverter.CanParseSubTypes">
            <summary>
            false.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.DataTypeConverters.BooleanConverter.CSharpType">
            <summary>
            typeof(bool)
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.PropertyInfoPath">
            <summary>
            Class used to hold the "paths" for a record.
            For example, in a record of a type Person i can have the path
            Father.Name.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.#ctor(System.Reflection.PropertyInfo[])">
            <summary>
            Creates the path with the given properties.
            Do not change the properties after you create a propertyInfoPath,
            or you will end-up changing the path.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.GetDatabaseName">
            <summary>
            Gets the database name of the given "path" of relationships.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.GetValue(System.Object)">
            <summary>
            Gets the final value pointed by the current path.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.GetValue(System.Object,System.Type[])">
            <summary>
            Gets the final value pointed by the actual path, but only if
            the paths follows the given typepath.
            </summary>
            <param name="record"></param>
            <param name="typePath"></param>
            <returns></returns>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.GetValueOrKey(Pfz.Databasing.IRecord,System.Int32)">
            <summary>
            Gets the value pointed by the current path or gets the "key" used
            to load such records. This method only works with Records,
            and can't be used for common properties.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.GetEnumerator">
            <summary>
            Gets an enumerator to iterate throught all the items in the path.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.Equals(System.Object)">
            <summary>
            Compares this object with another object.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.Equals(Pfz.Databasing.Managers.PropertyInfoPath)">
            <summary>
            Returns if this PropertyInfoPath equals another.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.GetHashCode">
            <summary>
            Gets the hashcode for this PropertyInfoPath.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.SubPath(System.Int32,System.Int32)">
            <summary>
            Gets a sub-path of this path.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.InsertAtBegin(System.Reflection.PropertyInfo)">
            <summary>
            Adds a new propertyInfo at the begin of the path.
            Returns a new object.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.ToString">
            <summary>
            Shows the full path separated by dots.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.PropertyInfoPath.ToArray">
            <summary>
            Returns a clone of the internal array.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.PropertyInfoPath.HasValue">
            <summary>
            Gets a value indicating if this path was initialized.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.PropertyInfoPath.Length">
            <summary>
            Gets the length of this path.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.PropertyInfoPath.Item(System.Int32)">
            <summary>
            Gets the propertyInfo at the given index.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.LocalRecordClassGenerator">
            <summary>
            Generates the record classes used by the LocalDatabaseManager.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.LocalRecordClassGenerator.OnImplementClass">
            <summary>
            Adds some SQL strings to the generated type.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Tiers.SearchMode">
            <summary>
            Enum used with InheritanceTier and BusinessRulesTier to tell how to find
            for inheritors.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Tiers.SearchMode.SameAssembly">
            <summary>
            Default values. Searchs for inheritors only in the same assembly
            of the actual type. Faster, but may not load all the inheritors
            if the database is distributed among many dlls.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Tiers.SearchMode.AllLoadedAssemblies">
            <summary>
            Searchs for inheritors in all loaded DLLs. Can be really slow,
            but will find all inheritors.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.Tiers.SearchMode.GivenAssemblies">
            <summary>
            Will use only the given assemblies to find for inheritors.
            If well used, is the best option.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Tiers.InheritanceTier">
            <summary>
            Tier that allows for you to execute queries over a base inheritance level
            and load all the "persisted childs" for such inheritance.
            For example:
            IIdRecord -> base interface for any object that uses only Id as it's key.
            INamedRecord -> base interface for any object that has a Name, and is child 
              of IIdRecord.
            IProduct -> persisted interface of products.
            IPerson -> persisted interface of persons.
            
            Products and Persons are named records. So, executing a query over
            a INamedRecord must load all matching records from Products and Persons.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.InheritanceTier.TryLoadByPrimaryKey``1(Pfz.Databasing.Managers.IDatabaseConnection,System.Object[])">
            <summary>
            Implements inheritance support for this loading method.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.InheritanceTier.FastLoadByPartialSql``1(Pfz.Databasing.Managers.IDatabaseConnection,System.String,System.Object[])">
            <summary>
            Implements inheritance support for this loading method.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.InheritanceTier.AdvancedLoad(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Managers.AdvancedLoadParameters)">
            <summary>
            Implements inheritance support for this loading method.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.InheritanceTier.CountRecordsByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Returns the sum of the count of all persisted records that
            implement the given interface and also matches the filter.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.InheritanceTier.FastLoadByFilterGroup``1(Pfz.Databasing.Managers.IDatabaseConnection,Pfz.Databasing.Filtering.FilterGroup)">
            <summary>
            Adds inheritance support to this method.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.InheritanceTier.AddSearchAssembly(System.Reflection.Assembly)">
            <summary>
            Adds an assembly to search for inheritors, and sets the SearchType
            to GivenAssemblies.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Tiers.InheritanceTier.GetPersistedTypes(System.Type)">
            <summary>
            Gets a read-only array of all persisted types based on the given base-type.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Tiers.InheritanceTier.SearchMode">
            <summary>
            Gets or sets the search type for inheritors.
            The default is SameAssembly.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.JoinMode">
            <summary>
            Defines the join mode used in advanced load.
            By default, select paths that requires join build Left joins.
            In LINQ mode, you can call SetJoinMode.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.JoinMode.Left">
            <summary>
            Left joins are used.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.JoinMode.Inner">
            <summary>
            Inner joins are used.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.RecordImplementer">
            <summary>
            Class used to generate the record-assemblies when they are first
            needed.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordImplementer.GetImplementedRecordsAssemblyFor``1(System.Reflection.Assembly)">
            <summary>
            Gets the implemented assembly with all implemented records found
            in the given assembly.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordImplementer.GetImplementedTypeFor``1(System.Type)">
            <summary>
            Gets the implemented type for the given interface record type.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordImplementer.Create``2">
            <summary>
            Creates a new record of the given type.
            Do not call this function if you are not implementing the Database
            Manager itself.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordImplementer.Create``2(System.Data.IDbConnection,System.Object[])">
            <summary>
            Creates the record, using the given database values.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.RecordImplementer.Create``1(System.Type,System.Data.IDbConnection,System.Object[])">
            <summary>
            Creates the record, using the given database values.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IBeforeApplyDeleteRule`1">
            <summary>
            Rule that is invoked just before a delete record is applied.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.BusinessRules.IAfterApplyInsertRule`1">
            <summary>
            Rule that is invoked just after an insert record is applied.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.AlternateKeyAttribute">
            <summary>
            Use this attribute in your record interfaces to create alternate 
            (exclusive) keys.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.AlternateKeyAttribute.#ctor(System.String,System.String[])">
            <summary>
            Creates this AlternateKeyAttribute setting the keyName and the propertyNames.
            </summary>
            <param name="keyName"></param>
            <param name="propertyNames"></param>
        </member>
        <member name="P:Pfz.Databasing.AlternateKeyAttribute.KeyName">
            <summary>
            Gets the name of this key.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.AlternateKeyAttribute.PropertyNames">
            <summary>
            Gets the name of the properties used to generate the key.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.DatabasePersistedAttribute">
            <summary>
            Use this attribute in any IRecord interface that generates
            a real table. All other interfaces are considered "programming level" 
            interfaces, but are ignored during database generation.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.RecordMode">
            <summary>
            Enum used in Records to specify how the actual record behaves.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.RecordMode.Insert">
            <summary>
            The record is a new one, and can be modified and applied (inserted)
            into the database.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.RecordMode.ReadOnly">
            <summary>
            The record was read from database and is read-only.
            It can be marked for deletion, but no fields will be deleted.
            </summary>
        </member>
        <member name="F:Pfz.Databasing.RecordMode.Update">
            <summary>
            This record is a "clonned" version of an old record, and can
            be modified so you can generate update when you apply it.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.ToStringAttribute">
            <summary>
            Attribute used to instruct database auto-implementer database class 
            how to implement the ToString method of database classes, so you can
            easily show them everywhere.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.ToStringAttribute.#ctor(System.String,System.String[])">
            <summary>
            Creates the ToStringAttribute using the given format and 
            propertyNames, which will be used in the implementation of
            the ToString function.
            </summary>
            <param name="format">The format used to display the database object.</param>
            <param name="propertyNames">The name of the properties used to fill the values.</param>
        </member>
        <member name="M:Pfz.Databasing.ToStringAttribute.#ctor(System.Type,System.String)">
            <summary>
            Creates this ToStringAttribute that will redirect the ToString call
            to the given type and static method name given.
            The method must receive an object of the same type in
            which this attribute is applied.
            </summary>
            <param name="type">The type with the static tostring method.</param>
            <param name="methodName">The effective name of such method.</param>
        </member>
        <member name="P:Pfz.Databasing.ToStringAttribute.Format">
            <summary>
            Gets the format used to generate the ToString string.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.ToStringAttribute.PropertyNames">
            <summary>
            Gets the propertyNames used to generate the ToString value.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.ToStringAttribute.StaticType">
            <summary>
            Gets the StaticType that will implement the ToString method.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.ToStringAttribute.MethodName">
            <summary>
            Gets the static method name that is used as the real implementer
            of the ToString function.
            </summary>
        </member>
        <member name="T:Pfz.Databasing.Managers.AdvancedLoadParameters">
            <summary>
            Class used to provide all the required parameters to the AdvancedLoad
            method from IDatabaseManager.
            </summary>
        </member>
        <member name="M:Pfz.Databasing.Managers.AdvancedLoadParameters.Clone">
            <summary>
            Returns deep clone of this object.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Pfz.Databasing.Managers.AdvancedLoadParameters.Distinct">
            <summary>
            Gets or sets a value indicating the DISTINCT should be used within
            the select.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.AdvancedLoadParameters.SelectJoinMode">
            <summary>
            Gets or sets the joinMode automatically generated for the fields
            from the SELECT clause that require implicit joins.
            The default is Left.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.AdvancedLoadParameters.SelectPaths">
            <summary>
            Gets or sets the SelectPaths used to select the specific fields.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.AdvancedLoadParameters.TypePaths">
            <summary>
            Gets or sets the "type-paths" needed when the properties that
            references other records are of non-persisted types.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.AdvancedLoadParameters.InitialRecordType">
            <summary>
            Gets or sets the initial recordType. Effectivelly, the FROM table.
            </summary>
        </member>
        <member name="P:Pfz.Databasing.Managers.AdvancedLoadParameters.Filter">
            <summary>
            Gets or sets the filter (the where clause).
            </summary>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Microsoft
United States United States
I started to program computers when I was 11 years old, as a hobbyist, programming in AMOS Basic and Blitz Basic for Amiga.
At 12 I had my first try with assembler, but it was too difficult at the time. Then, in the same year, I learned C and, after learning C, I was finally able to learn assembler (for Motorola 680x0).
Not sure, but probably between 12 and 13, I started to learn C++. I always programmed "in an object oriented way", but using function pointers instead of virtual methods.

At 15 I started to learn Pascal at school and to use Delphi. At 16 I started my first internship (using Delphi). At 18 I started to work professionally using C++ and since then I've developed my programming skills as a professional developer in C++ and C#, generally creating libraries that help other developers do their work easier, faster and with less errors.

Want more info or simply want to contact me?
Take a look at: http://paulozemek.azurewebsites.net/
Or e-mail me at: paulozemek@outlook.com

Codeproject MVP 2012, 2015 & 2016
Microsoft MVP 2013-2014 (in October 2014 I started working at Microsoft, so I can't be a Microsoft MVP anymore).

Comments and Discussions