繁体   English   中英

我们可以在插入始终加密的列时使用dbCommand和AddInParameter

[英]Can we use dbCommand and AddInParameter while inserting always encrypted columns

我们有什么办法可以使用dbCommand和AddInParameter,同时通过.net将总是加密的列插入到表中?

db.AddInParameter(dbCommand,“@ SSN”,DbType.string,SSN);

关于.NET Framework数据提供程序如何处理这个问题 - 如果底层对象是SqlParameter,则没有什么必须专门做的。

有关此内容的更多详细信息: 使用始终加密的.NET Framework数据提供程序进行开发

SQL Server的.NET Framework数据提供程序自动检测并加密以加密列为目标的参数。

我假设您正在使用企业库。 查看AddInParameter方法 - 它在内部创建一个DbParameter,SqlParamter继承自DbParameter。 似乎在您的情况下适用相同的规则。

话虽如此,您可能需要重新考虑使用企业库,而不是直接使用ADO.NET,实体框架或像Dapper这样的微型ORM。 据我所知,企业库不是一个活跃的项目/正在维护。

编辑

似乎你可以将SqlParameter传递给dbCommand。

示例(未测试)

            DatabaseProviderFactory factory = new DatabaseProviderFactory();
            Database db = factory.CreateDefault();

            var dbCommand = db.GetStoredProcCommand("spINSERT");
            SqlParameter p = new SqlParameter("xxxxxx", "yyyyyy") {SqlDbType = SqlDbType.VarChar};
            dbCommand.Parameters.Add(p);
            db.ExecuteNonQuery(dbCommand);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM