| <?xml version="1.0"?> |
| <doc> |
| <assembly> |
| <name>Microsoft.Deployment.WindowsInstaller.Linq</name> |
| </assembly> |
| <members> |
| <member name="T:Microsoft.Deployment.WindowsInstaller.Linq.DatabaseTableAttribute"> |
| <summary> |
| Apply to a subclass of QRecord to indicate the name of |
| the table the record type is to be used with. |
| </summary> |
| <remarks> |
| If this attribute is not used on a record type, the default |
| table name will be derived from the record type name. (An |
| optional underscore suffix is stripped.) |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.DatabaseTableAttribute.#ctor(System.String)"> |
| <summary> |
| Creates a new DatabaseTableAttribute for the specified table. |
| </summary> |
| <param name="table">name of the table associated with the record type</param> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.DatabaseTableAttribute.Table"> |
| <summary> |
| Gets or sets the table associated with the record type. |
| </summary> |
| </member> |
| <member name="T:Microsoft.Deployment.WindowsInstaller.Linq.DatabaseColumnAttribute"> |
| <summary> |
| Apply to a property on a subclass of QRecord to indicate |
| the name of the column the property is to be associated with. |
| </summary> |
| <remarks> |
| If this attribute is not used on a property, the default |
| column name will be the same as the property name. |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.DatabaseColumnAttribute.#ctor(System.String)"> |
| <summary> |
| Creates a new DatabaseColumnAttribute which maps a |
| record property to a column. |
| </summary> |
| <param name="column">name of the column associated with the property</param> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.DatabaseColumnAttribute.Column"> |
| <summary> |
| Gets or sets the column associated with the record property. |
| </summary> |
| </member> |
| <member name="T:Microsoft.Deployment.WindowsInstaller.Linq.QRecord"> |
| <summary> |
| Generic record entity for queryable databases, |
| and base for strongly-typed entity subclasses. |
| </summary> |
| <remarks> |
| Several predefined specialized subclasses are provided for common |
| standard tables. Subclasses for additional standard tables |
| or custom tables are not necessary, but they are easy to create |
| and make the coding experience much nicer. |
| <para>When creating subclasses, the following attributes may be |
| useful: <see cref="T:Microsoft.Deployment.WindowsInstaller.Linq.DatabaseTableAttribute"/>, |
| <see cref="T:Microsoft.Deployment.WindowsInstaller.Linq.DatabaseColumnAttribute"/></para> |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.#ctor"> |
| <summary> |
| Do not call. Use QTable.NewRecord() instead. |
| </summary> |
| <remarks> |
| Subclasses must also provide a public parameterless constructor. |
| <para>QRecord constructors are only public due to implementation |
| reasons (to satisfy the new() constraint on the QTable generic |
| class). They are not intended to be called by user code other than |
| a subclass constructor. If the constructor is invoked directly, |
| the record instance will not be properly initialized (associated |
| with a database table) and calls to methods on the instance |
| will throw a NullReferenceException.</para> |
| </remarks> |
| <seealso cref="M:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.NewRecord"/> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.I(System.Int32)"> |
| <summary> |
| Used by subclasses to get a field as an integer. |
| </summary> |
| <param name="index">zero-based column index of the field</param> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.NI(System.Int32)"> |
| <summary> |
| Used by subclasses to get a field as a nullable integer. |
| </summary> |
| <param name="index">zero-based column index of the field</param> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.ToString"> |
| <summary> |
| Dumps all record fields to a string. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Update(System.Collections.Generic.IList{System.String},System.Collections.Generic.IList{System.String})"> |
| <summary> |
| Update multiple fields in the record (and the database). |
| </summary> |
| <param name="fields">column names of fields to update</param> |
| <param name="values">new values for each field being updated</param> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Update(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String})"> |
| <summary> |
| Update multiple fields in the record (and the database). |
| </summary> |
| <param name="indexes">column indexes of fields to update</param> |
| <param name="values">new values for each field being updated</param> |
| <remarks> |
| The record (primary keys) must already exist in the table. |
| <para>Updating primary key fields is not yet implemented; use Delete() |
| and Insert() instead.</para> |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Insert"> |
| <summary> |
| Inserts the record in the database. |
| </summary> |
| <remarks> |
| The record (primary keys) may not already exist in the table. |
| <para>Use <see cref="M:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.NewRecord"/> to get a new |
| record. Prmary keys and all required fields |
| must be filled in before insertion.</para> |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Insert(System.Boolean)"> |
| <summary> |
| Inserts the record into the table. |
| </summary> |
| <param name="temporary">true if the record is temporarily |
| inserted, to be visible only as long as the database is open</param> |
| <remarks> |
| The record (primary keys) may not already exist in the table. |
| <para>Use <see cref="M:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.NewRecord"/> to get a new |
| record. Prmary keys and all required fields |
| must be filled in before insertion.</para> |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Delete"> |
| <summary> |
| Deletes the record from the table if it exists. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Refresh"> |
| <summary> |
| Not yet implemented. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Assign"> |
| <summary> |
| Not yet implemented. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Merge"> |
| <summary> |
| Not yet implemented. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Validate"> |
| <summary> |
| Not yet implemented. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.ValidateNew"> |
| <summary> |
| Not yet implemented. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.ValidateFields"> |
| <summary> |
| Not yet implemented. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.ValidateDelete"> |
| <summary> |
| Not yet implemented. |
| </summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.FieldCount"> |
| <summary> |
| Gets the number of fields in the record. |
| </summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Item(System.String)"> |
| <summary> |
| Gets or sets a record field. |
| </summary> |
| <param name="field">column name of the field</param> |
| <remarks> |
| Setting a field value will automatically update the database. |
| </remarks> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QRecord.Item(System.Int32)"> |
| <summary> |
| Gets or sets a record field. |
| </summary> |
| <param name="index">zero-based column index of the field</param> |
| <remarks> |
| Setting a field value will automatically update the database. |
| </remarks> |
| </member> |
| <member name="T:Microsoft.Deployment.WindowsInstaller.Linq.Queryable"> |
| <summary> |
| Allows any Database instance to be converted into a queryable database. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.Queryable.AsQueryable(Microsoft.Deployment.WindowsInstaller.Database)"> |
| <summary> |
| Converts any Database instance into a queryable database. |
| </summary> |
| <param name="db"></param> |
| <returns>Queryable database instance that operates on the same |
| MSI handle.</returns> |
| <remarks> |
| This extension method is meant for convenient on-the-fly conversion. |
| If the existing database instance already happens to be a QDatabase, |
| then it is returned unchanged. Otherwise since the new database |
| carries the same MSI handle, only one of the instances needs to be |
| closed, not both. |
| </remarks> |
| </member> |
| <member name="T:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase"> |
| <summary> |
| Queryable MSI database - extends the base Database class with |
| LINQ query functionality along with predefined entity types |
| for common tables. |
| </summary> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.#ctor(System.String)"> |
| <summary> |
| Opens an existing database in read-only mode. |
| </summary> |
| <param name="filePath">Path to the database file.</param> |
| <exception cref="T:Microsoft.Deployment.WindowsInstaller.InstallerException">the database could not be created/opened</exception> |
| <remarks> |
| Because this constructor initiates database access, it cannot be used with a |
| running installation. |
| <para>The Database object should be <see cref="M:Microsoft.Deployment.WindowsInstaller.InstallerHandle.Close"/>d after use. |
| The finalizer will close the handle if it is still open, however due to the nondeterministic |
| nature of finalization it is best that the handle be closed manually as soon as it is no |
| longer needed, as leaving lots of unused handles open can degrade performance.</para> |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.#ctor(System.String,System.String)"> |
| <summary> |
| Opens an existing database with another database as output. |
| </summary> |
| <param name="filePath">Path to the database to be read.</param> |
| <param name="outputPath">Open mode for the database</param> |
| <returns>Database object representing the created or opened database</returns> |
| <exception cref="T:Microsoft.Deployment.WindowsInstaller.InstallerException">the database could not be created/opened</exception> |
| <remarks> |
| When a database is opened as the output of another database, the summary information stream |
| of the output database is actually a read-only mirror of the original database and thus cannot |
| be changed. Additionally, it is not persisted with the database. To create or modify the |
| summary information for the output database it must be closed and re-opened. |
| <para>The returned Database object should be <see cref="M:Microsoft.Deployment.WindowsInstaller.InstallerHandle.Close"/>d after use. |
| The finalizer will close the handle if it is still open, however due to the nondeterministic |
| nature of finalization it is best that the handle be closed manually as soon as it is no |
| longer needed, as leaving lots of unused handles open can degrade performance.</para> |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.#ctor(System.String,Microsoft.Deployment.WindowsInstaller.DatabaseOpenMode)"> |
| <summary> |
| Opens an existing database or creates a new one. |
| </summary> |
| <param name="filePath">Path to the database file. If an empty string |
| is supplied, a temporary database is created that is not persisted.</param> |
| <param name="mode">Open mode for the database</param> |
| <exception cref="T:Microsoft.Deployment.WindowsInstaller.InstallerException">the database could not be created/opened</exception> |
| <remarks> |
| To make and save changes to a database first open the database in transaction, |
| create or, or direct mode. After making the changes, always call the Commit method |
| before closing the database handle. The Commit method flushes all buffers. |
| <para>Always call the Commit method on a database that has been opened in direct |
| mode before closing the database. Failure to do this may corrupt the database.</para> |
| <para>Because this constructor initiates database access, it cannot be used with a |
| running installation.</para> |
| <para>The Database object should be <see cref="M:Microsoft.Deployment.WindowsInstaller.InstallerHandle.Close"/>d after use. |
| The finalizer will close the handle if it is still open, however due to the nondeterministic |
| nature of finalization it is best that the handle be closed manually as soon as it is no |
| longer needed, as leaving lots of unused handles open can degrade performance.</para> |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.#ctor(System.IntPtr,System.Boolean,System.String,Microsoft.Deployment.WindowsInstaller.DatabaseOpenMode)"> |
| <summary> |
| Creates a new database from an MSI handle. |
| </summary> |
| <param name="handle">Native MSI database handle.</param> |
| <param name="ownsHandle">True if the handle should be closed |
| when the database object is disposed</param> |
| <param name="filePath">Path of the database file, if known</param> |
| <param name="openMode">Mode the handle was originally opened in</param> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.Log"> |
| <summary> |
| Gets or sets a log where all MSI SQL queries are written. |
| </summary> |
| <remarks> |
| The log can be useful for debugging, or simply to watch the LINQ magic in action. |
| </remarks> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.Item(System.String)"> |
| <summary> |
| Gets a queryable table from the datbaase. |
| </summary> |
| <param name="table">name of the table</param> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.Components"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.CreateFolders"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.CustomActions"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.Directories"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.DuplicateFiles"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.Features"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.FeatureComponents"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.Files"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.FileHashes"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.InstallExecuteSequences"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.InstallUISequences"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.LaunchConditions"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.Medias"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.Properties"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.Registries"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QDatabase.RemoveFiles"> |
| <summary>Queryable standard table with predefined specialized record type.</summary> |
| </member> |
| <member name="T:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1"> |
| <summary> |
| Represents one table in a LINQ-queryable Database. |
| </summary> |
| <typeparam name="TRecord">type that represents one record in the table</typeparam> |
| <remarks> |
| This class is the primary gateway to all LINQ to MSI query functionality. |
| <para>The TRecord generic parameter may be the general <see cref="T:Microsoft.Deployment.WindowsInstaller.Linq.QRecord"/> |
| class, or a specialized subclass of QRecord.</para> |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.InferTableName"> |
| <summary> |
| Infers the name of the table this instance will be |
| associated with. |
| </summary> |
| <returns>table name</returns> |
| <remarks> |
| The table name is retrieved from a DatabaseTableAttribute |
| on the record type if it exists; otherwise the name is |
| derived from the name of the record type itself. |
| (An optional underscore suffix on the record type name is dropped.) |
| </remarks> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.#ctor(Microsoft.Deployment.WindowsInstaller.Linq.QDatabase)"> |
| <summary> |
| Creates a new QTable, inferring the table name |
| from the name of the record type parameter. |
| </summary> |
| <param name="db">database that contains the table</param> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.#ctor(Microsoft.Deployment.WindowsInstaller.Linq.QDatabase,System.String)"> |
| <summary> |
| Creates a new QTable with an explicit table name. |
| </summary> |
| <param name="db">database that contains the table</param> |
| <param name="table">name of the table</param> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.GetEnumerator"> |
| <summary> |
| Enumerates over all records in the table. |
| </summary> |
| <returns></returns> |
| </member> |
| <member name="M:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.NewRecord"> |
| <summary> |
| Creates a new record that can be inserted into this table. |
| </summary> |
| <returns>a record with all fields initialized to null</returns> |
| <remarks> |
| Primary keys and required fields must be filled in with |
| non-null values before the record can be inserted. |
| <para>The record is tied to this table in this database; |
| it cannot be inserted into another table or database.</para> |
| </remarks> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.TableInfo"> |
| <summary> |
| Gets schema information about the table. |
| </summary> |
| </member> |
| <member name="P:Microsoft.Deployment.WindowsInstaller.Linq.QTable`1.Database"> |
| <summary> |
| Gets the database this table is associated with. |
| </summary> |
| </member> |
| <member name="T:Microsoft.Deployment.WindowsInstaller.Linq.Query`1"> |
| <summary> |
| Implements the LINQ to MSI query functionality. |
| </summary> |
| <typeparam name="T">the result type of the current query -- |
| either some kind of QRecord, or some projection of record data</typeparam> |
| </member> |
| </members> |
| </doc> |