[英]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.