SqlProviderServices 类

定义

SQL Server 的 SqlClient 提供程序的 DbProviderServices 实现。

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
public sealed class SqlProviderServices : System.Data.Entity.Core.Common.DbProviderServices
type SqlProviderServices = class
    inherit DbProviderServices
Public NotInheritable Class SqlProviderServices
Inherits DbProviderServices
继承
SqlProviderServices
属性

注解

请注意,使用应用程序的配置文件中的条目或通过 中DbConfiguration基于代码的注册将此类型注册为 EF 提供程序时,此类型的实例还会解析 Microsoft SQL Server 的其他提供程序服务。 解析的服务为:默认情况下,将 IDbConnectionFactory 的请求解析为 的单 SqlConnectionFactory 一实例,以创建与 SQL Express 的连接。 Func<TResult>针对任何服务器名称的固定名称“System.Data.SqlClient”的请求将解析为一个委托,该委托返回 ,System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy以便为SQL Server提供非重试策略。 对MigrationSqlGenerator固定名称“System.Data.SqlClient”的请求解析为SqlServerMigrationSqlGenerator实例,以提供SQL Server的默认迁移 SQL 代系。 对DbSpatialServices固定名称“System.Data.SqlClient”的请求解析为 的单SqlSpatialServices一实例,为SQL Server提供默认空间服务。

字段

ProviderInvariantName

这是在配置文件和基于代码的配置中使用作为“提供程序固定名称”的已知字符串,用于为 ADO.NET 和实体框架提供程序服务指定 Microsoft SQL Server。

属性

Instance

SqlProviderServices 类型的单一实例。

SqlServerTypesAssemblyName

将 设置为 Microsoft.SqlServer.Types 程序集的全名以替代默认选择

TruncateDecimalsToScale

获取或设置一个值,该值指示参数值是否 Decimal 截断为小数位数 (小数位数,) 在发送到数据库时为其对应的列定义。 值 指示trueSqlParameterDecimal列创建的对象将设置其Scale属性,这将导致参数值被截断。 如果设置为 false ,则Scale不会设置属性,避免 截断行为SqlParameter,并允许SQL Server根据需要舍入值。 默认值是 true 防止破坏依赖于此行为的现有应用程序。

UseRowNumberOrderingInOffsetQueries

获取或设置一个值,该值指示当 OFFSET 出现在查询中时,是否在传递给 ORDER BY 子句的排序表达式中使用 ROW_NUMBER () 函数。 建议使用 的默认值 true 来获取分页操作稳定的查询结果。 的值 false 可用于与以前版本的 EF 兼容,并且会导致排序表达式未经修改地传递到 ORDER BY 子句,如果排序不明确,这可能会导致结果不稳定。

UseScopeIdentity

获取或设置一个值,该值指示是否使用 SCOPE_IDENTITY () 函数在 INSERT 操作期间检索数据库为数值列生成的值。 建议使用 的默认值, true 如果所有数值都是使用 IDENTITY 列生成的,则可以提供更好的性能。 如果设置为 false,则将改用 OUTPUT 子句。 使用 OUTPUT 子句可以检索序列或其他方式生成的值。

方法

AddDependencyResolver(IDbDependencyResolver)

添加 , IDbDependencyResolver 当派生类型使用应用程序的配置文件中的条目或通过 中的 DbConfiguration基于代码的注册将派生类型注册为 EF 提供程序时,将用于解析其他默认提供程序服务。

(继承自 DbProviderServices)
CloneDbCommand(DbCommand)

请参阅问题 2390 - 克隆 DbCommand 上的 DesignTimeVisible 属性可能会导致死锁。 因此,此处允许子类替代。

(继承自 DbProviderServices)
CloneDbConnection(DbConnection)

克隆连接。

(继承自 DbProviderServices)
CloneDbConnection(DbConnection, DbProviderFactory)

克隆连接。

CreateCommandDefinition(DbCommand)

基于原型命令创建默认 DbCommandDefinition 对象 此方法供提供程序编写者根据命令生成默认命令定义。 注意:这会克隆原型

(继承自 DbProviderServices)
CreateCommandDefinition(DbCommandTree)

在给定命令树的情况下创建命令定义对象。

(继承自 DbProviderServices)
CreateCommandDefinition(DbProviderManifest, DbCommandTree)

从指定的清单和命令树创建命令定义。

(继承自 DbProviderServices)
CreateDatabase(DbConnection, Nullable<Int32>, StoreItemCollection)

创建连接指示的数据库,并根据 storeItemCollection 的内容 (表、主键、外键) 创建架构对象。

(继承自 DbProviderServices)
CreateDatabaseScript(String, StoreItemCollection)

基于 StoreItemCollection 参数的内容并针对与提供程序清单标记相对应的数据库版本生成数据定义语言(创建架构对象(表、主键、外键)的 DDL 脚本)。

(继承自 DbProviderServices)
CreateDbCommandDefinition(DbProviderManifest, DbCommandTree)

为指定的提供程序清单和命令目录树创建命令定义对象。

(继承自 DbProviderServices)
DatabaseExists(DbConnection, Nullable<Int32>, Lazy<StoreItemCollection>)

返回一个值,该值指示服务器上是否存在给定数据库。

(继承自 DbProviderServices)
DatabaseExists(DbConnection, Nullable<Int32>, StoreItemCollection)

返回一个值,该值指示服务器上是否存在给定数据库。

(继承自 DbProviderServices)
DbCreateDatabase(DbConnection, Nullable<Int32>, StoreItemCollection)

创建一个由连接指示的数据库并且基于 StoreItemCollection 的内容创建架构对象(表、主键、外键)。

(继承自 DbProviderServices)
DbCreateDatabaseScript(String, StoreItemCollection)

生成数据定义语言 (DDL) 脚本,该脚本基于 StoreItemCollection 参数的内容创建表、主键、外键) 的架构 (对象,并针对与提供程序清单令牌对应的数据库版本。

(继承自 DbProviderServices)
DbDatabaseExists(DbConnection, Nullable<Int32>, Lazy<StoreItemCollection>)

返回一个值,该值指示服务器上是否存在给定数据库。

(继承自 DbProviderServices)
DbDatabaseExists(DbConnection, Nullable<Int32>, StoreItemCollection)

返回一个值,该值指示服务器上是否存在给定数据库。

(继承自 DbProviderServices)
DbDeleteDatabase(DbConnection, Nullable<Int32>, StoreItemCollection)

删除指定的数据库。

(继承自 DbProviderServices)
DbGetSpatialServices(String)
已过时.

DbProviderServices 获取空间服务。

(继承自 DbProviderServices)
DeleteDatabase(DbConnection, Nullable<Int32>, StoreItemCollection)

删除指定的数据库。

(继承自 DbProviderServices)
GetDbProviderManifest(String)

在派生类中重写时,返回一个派生自 DbProviderManifest 的类的实例。

(继承自 DbProviderServices)
GetDbProviderManifestToken(DbConnection)

返回给定连接的提供程序清单令牌。

(继承自 DbProviderServices)
GetDbSpatialDataReader(DbDataReader, String)

DbProviderServices 获取空间数据读取器。

(继承自 DbProviderServices)
GetProviderManifest(String)

使用指定的版本信息返回提供程序清单。

(继承自 DbProviderServices)
GetProviderManifestToken(DbConnection)

返回给定连接的提供程序清单标记。

(继承自 DbProviderServices)
GetService(Type, Object)

使用应用程序的配置文件中的条目或通过 中的 DbConfiguration基于代码的注册将派生类型注册为 EF 提供程序时,调用 以解析其他默认提供程序服务。 此类中此方法的实现使用 AddDependencyResolver 方法添加的解析程序来解析依赖项。

(继承自 DbProviderServices)
GetServices(Type, Object)

使用应用程序的配置文件中的条目或通过 中的 DbConfiguration基于代码的注册将派生类型注册为 EF 提供程序时,调用 以解析其他默认提供程序服务。 此类中此方法的实现使用 AddDependencyResolver 方法添加的解析程序来解析依赖项。

(继承自 DbProviderServices)
GetSpatialDataReader(DbDataReader, String)

DbProviderServices 获取空间数据读取器。

(继承自 DbProviderServices)
GetSpatialServices(DbProviderInfo)

DbProviderServices 获取空间服务。

(继承自 DbProviderServices)
GetSpatialServices(String)
已过时.

DbProviderServices 获取空间服务。

(继承自 DbProviderServices)
RegisterInfoMessageHandler(DbConnection, Action<String>)

注册处理程序以处理来自数据库提供程序的非错误消息。

SetDbParameterValue(DbParameter, TypeUsage, Object)

设置给定 TypeUsage的参数值和适当的分面。

(继承自 DbProviderServices)
SetParameterValue(DbParameter, TypeUsage, Object)

设置给定 TypeUsage的参数值和适当的分面。

(继承自 DbProviderServices)

扩展方法

GetService(IDbDependencyResolver, Type)

调用 GetService(Type, Object) 传递给定类型参数并为 name 参数使用 null。

GetService<T>(IDbDependencyResolver)

调用 GetService(Type, Object) 将方法的泛型类型作为类型参数传递,并为 name 参数传递 null。

GetService<T>(IDbDependencyResolver, Object)

调用 GetService(Type, Object) 将方法的泛型类型和给定名称作为参数传递。

GetServices(IDbDependencyResolver, Type)

调用 GetServices(Type, Object) 传递给定类型参数并为 name 参数使用 null。

GetServices<T>(IDbDependencyResolver)

调用 GetServices(Type, Object) 将方法的泛型类型作为类型参数传递,并为 name 参数传递 null。

GetServices<T>(IDbDependencyResolver, Object)

调用 GetServices(Type, Object) 将方法的泛型类型和给定名称作为参数传递。

适用于