Mercurial > pub > bltoolkit
view Source/Data/DataProvider/SqlCeDataProvider.cs @ 6:11b6da379593
Исправлена странная ошибка при использовании OfType<...>().Where(...)
author | cin |
---|---|
date | Mon, 05 Dec 2016 05:50:52 +0300 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.Data; using System.Data.Common; // System.Data.SqlServerCe.dll must be referenced. // http://www.microsoft.com/sql/editions/compact/default.mspx // using System.Data.SqlServerCe; namespace BLToolkit.Data.DataProvider { using Sql.SqlProvider; /// <summary> /// Implements access to the Data Provider for Microsoft SQL Server 2005 Everywhere Edition /// </summary> /// <remarks> /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. /// </remarks> /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> public sealed class SqlCeDataProvider: DataProviderBase { /// <summary> /// Creates the database connection object. /// </summary> /// <remarks> /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. /// </remarks> /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> /// <returns>The database connection object.</returns> public override IDbConnection CreateConnectionObject() { return new SqlCeConnection(); } /// <summary> /// Creates the data adapter object. /// </summary> /// <remarks> /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. /// </remarks> /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> /// <returns>A data adapter object.</returns> public override DbDataAdapter CreateDataAdapterObject() { return new SqlCeDataAdapter(); } /// <summary> /// Populates the specified IDbCommand object's Parameters collection with /// parameter information for the stored procedure specified in the IDbCommand. /// </summary> /// <remarks> /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. /// </remarks> /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> /// <param name="command">The IDbCommand referencing the stored procedure for which the parameter information is to be derived. The derived parameters will be populated into the Parameters of this command.</param> public override bool DeriveParameters(IDbCommand command) { // SqlCeCommandBuilder does not implement DeriveParameters. // This is not surprising, since SQL/e has no support for stored procs. // return false; } public override object Convert(object value, ConvertType convertType) { switch (convertType) { case ConvertType.ExceptionToErrorNumber: if (value is SqlCeException) return ((SqlCeException)value).NativeError; break; } return SqlProvider.Convert(value, convertType); } /// <summary> /// Returns connection type. /// </summary> /// <remarks> /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. /// </remarks> /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> /// <value>An instance of the <see cref="Type"/> class.</value> public override Type ConnectionType { get { return typeof(SqlCeConnection); } } /// <summary> /// Returns the data provider name. /// </summary> /// <remarks> /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. /// </remarks> /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataProvider Method</seealso> /// <value>Data provider name.</value> public override string Name { get { return DataProvider.ProviderName.SqlCe; } } public override int MaxBatchSize { get { return 0; } } public override ISqlProvider CreateSqlProvider() { return new SqlCeSqlProvider(); } public override DbType GetParameterDbType(DbType dbType) { return dbType == DbType.DateTime2 ? DbType.DateTime : dbType; } } }