首页 > 解决方案 > 迁移到 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 类?非常感谢任何帮助。

标签: c#npgsql

解决方案


推荐阅读