c# - 迁移到 Npgsql
问题描述
我正在迁移 c# 应用程序以支持 Npgsql/postgres。应用程序的后端使用 SQL Server。现在我们需要支持 Postgres。我正在使用第三方库,即 Npgsql (4.0.10)。我已经转换了代码中的大部分项目,但我坚持迁移以下代码以使用 Npgsql 库。
List<int> cidList = <filled list>;
List<SqlDataRecord> contList = new List<SqlDataRecord>();
SqlMetaData[] tvpDef = { new SqlMetaData("n", SqlDbType.Int) };
foreach (int i in cidList)
{
SqlDataRecord rec = new SqlDataRecord(tvpDef);
rec.SetInt32(0, i);
contList.Add(rec);
}
...
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@CIDList", SqlDbType.Structured);
cmd.Parameters["@CIDList"].Direction = ParameterDirection.Input;
cmd.Parameters["@CIDList"].TypeName = "IntKeyTable";
cmd.Parameters["@CIDList"].Value = contList;
我在 Npgsql 中没有找到 SqlDataRecord 和 SqlMetaData 的等价物。npgsql 是否支持这些 SqlDataRecord 和 SqlMetaData 类?非常感谢任何帮助。
解决方案
推荐阅读
- android - Gradle 不会注意到对 build.gradle 所做的更改
- mysql - MySQL 根据查询结果更新
- python - 如何水平对齐绘图图表?
- plsql - 在pl/sql过程中实现水平碎片表
- python - 如果内容相同,则从列表中删除元素?
- vb.net - 以用户而非管理员身份启动流程
- regex - 如何编写 python 密码验证器
- javascript - 如何解决:[Vue 警告]:渲染错误:“TypeError:无法读取属性...未定义”
- python - 使用列表理解替换列表中的两个值?
- selenium - 问题运行 driver.find_elements_by_class_name