c# - 使用 PostgreSQLCopyHelper 时如何应用 ST_GeomFromText() 函数来格式化文本 (https://github.com/PostgreSQLCopyHelper/PostgreSQLCopyHelper)
问题描述
INSERT INTO geotable (geometrydata) values (ST_GeomFromGeoJSON(@geometrydata));
如何在 c# 代码中使用 PostgreSQLCopyHelper 将上述插入语句运行到 posgresql 数据库。试图做这样的事情。
var copyHelper = new PostgreSQLCopyHelper<GeoData>("geotable ") .Map("geometrydata", x => x.geometrydata, NpgsqlDbType.Geometry);
geometrydata 是一个字符串,如下所示。
`var geometrydata = "{\"type\":\"Polygon\",\"coordinates\":[[[-81.800007507357,24.491670214271,0.0],[-81.800007507357,24.500003548802,0.0],[-81.7916741718259,24.500003548802,0.0],[-81.7916741718259,24.491670214271,0.0],[-81.800007507357,24.491670214271,0.0]]]}"`
使用 PostgreSQLCopyHelper 时如何使用 postgis 函数格式化数据。( https://github.com/PostgreSQLCopyHelper/PostgreSQLCopyHelper )
解决方案
使用 加载数据时不能调用函数COPY
。
如果您真的需要,您必须在表上创建一个视图并在视图上使用INSTEAD OF
触发器,将合适的已处理行插入到表中。
UPDATE
将数据加载到临时表并在所有行上执行转换可能会更好。
推荐阅读
- electron - 带有进度条的 Electron,js 中的自动更新
- html - 通过 URL 自动填充页面中的字段
- flutter - 如何将两个图像保持在一个屏幕上?
- node.js - 用户注册时如何自动创建子域
- azure - 通过 CLI 登录 CI/CD
- asp.net-identity - asp.net core 自定义访问控制器
- python - 如何测量由 JULIA 中不同单元组成的整个 jupyter notebook 的执行时间?
- reporting-services - 使用两个行组和一个列组为表/矩阵中的每一列添加总计
- django - Django Rest Framework partial=True 不工作
- c# - 如何为 .Net Core 应用程序添加 AWS SSO SAML 身份验证