【问题标题】:Npgsql Entity Framework database first not generating point type propertiesNpgsql Entity Framework 数据库首先不生成点类型属性
【发布时间】:2018-03-31 18:01:24
【问题描述】:

我正在尝试首先使用 Npgsql 3.2.7、EntityFramework6.Npsgql 3.1.1 和 Entity Framework 6.2 数据库生成 EDMX 模型。

除了类型为 point 的任何列之外,模型生成良好。出于某种奇怪的原因,这些列的属性没有被添加到实体模型中,但其他所有内容都添加得很好。

模型生成完成后出现以下错误:

错误 6005:目标实体框架版本当前不支持数据类型“point”;表“test.public.Nodes”中的“LatLong”列被排除在外。

documentation 看来,点类型列似乎应该映射到 NpgsqlPoint 类型。在我的情况下,这似乎没有发生。有没有办法让它工作?

【问题讨论】:

    标签: postgresql entity-framework-6 npgsql


    【解决方案1】:

    Entity Framework 6.x 仅支持有限的封闭类型集,不包括 PostgreSQL 的 point 类型。您链接到的文档适用于 ADO.NET 提供程序 Npgsql,它是实体框架提供程序下面的层。

    Entity Framework Core 确实有可扩展的类型映射并支持开箱即用的点,如果可能的话,我建议你尝试一下。

    【讨论】:

    • 是的,做到了。切换到 EF Core,属性现在生成正常,感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多