首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >首先使用NetTopologySuite的dotnet核心数据库

首先使用NetTopologySuite的dotnet核心数据库
EN

Stack Overflow用户
提问于 2018-06-21 13:25:59
回答 3查看 2.3K关注 0票数 11

我最近升级到了最新版本的EntityFrameworkCore.PostgreSQL,但是空间数据似乎不起作用,因为它们现在使用的是NetTopologySuite (见这里 )。

若要设置Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite插件,请将NetTopologySuite nuget添加到项目中。然后,对UseNpgsql()行进行以下修改:

我使用dotnet ef dbcontext scaffold命令

代码语言:javascript
复制
dotnet ef dbcontext scaffold "MyConnectionString" Npgsql.EntityFrameworkCore.PostgreSQL

但是,NetTopologySuite命令似乎不使用scaffold映射。我仍然得到以下错误

代码语言:javascript
复制
Could not find type mapping for column 'public.behaviour.coord' with data type 'geometry(Point)'. Skipping column.

如何使用NetTopologySuite构建数据库

EN

回答 3

Stack Overflow用户

发布于 2018-09-04 06:35:00

我也遇到了类似的问题,在更新postgre库之后,我不得不删除迁移文件并重新生成新的迁移文件。

票数 0
EN

Stack Overflow用户

发布于 2019-02-25 18:22:30

代码语言:javascript
复制
public class EFDesignTimeService : IDesignTimeServices
{
    public void ConfigureDesignTimeServices(IServiceCollection services)
    {
        new EntityFrameworkRelationalServicesBuilder(services).TryAddProviderSpecificServices(x =>
        {
            x.TryAddSingleton<INpgsqlOptions, NpgsqlOptions>(p =>
            {
                var dbOption = new DbContextOptionsBuilder()
                    .UseNpgsql("connection string",
                        ob => ob.UseNodaTime().UseNetTopologySuite()).Options;
                var npgOptions = new NpgsqlOptions();
                npgOptions.Initialize(dbOption);
                return npgOptions;
            });
        });
    }
}
票数 0
EN

Stack Overflow用户

发布于 2019-02-26 10:19:56

我使用的是geometry(Point, 4326)类型,必须将该类型更改为几何图形。

代码语言:javascript
复制
ALTER COLUMN coord TYPE geometry;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50969744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档