首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Npgsql Enum错误

Npgsql Enum错误
EN

Stack Overflow用户
提问于 2016-03-17 16:09:35
回答 1查看 720关注 0票数 1

当试图使用Npgsql V3.05持久化枚举时,我将收到以下错误消息。

Enum必须通过Connection.RegisterEnumType或RegisterEnumTypeGlobally向Npgsql注册。

我在PostgreSQL中PostgrSQL中创建了一个类型,并使用以下查询对其进行了验证:

代码语言:javascript
复制
select enum_range(null::schedule_link_type);

回传

代码语言:javascript
复制
"{finish_to_start,finish_to_finish,start_to_start,start_to_finish}"

我在我的VB.NET程序中创建了一个枚举,如(注意,这是在我的ActionRecord类中):

代码语言:javascript
复制
Public Enum ScheduleLinkType
    <EnumLabel("finish_to_start")>
    FinishToStart
    <EnumLabel("finish_to_finish")>
    FinishToFinish
    <EnumLabel("start_to_finish")>
    StartToFinish
    <EnumLabel("start_to_start")>
    StartToStart
End Enum

在运行insert查询之前,我调用以下方法(请注意,我设置了一个断点,并确认在执行insert命令之前确实正在调用该断点):

代码语言:javascript
复制
NpgsqlConnection.RegisterEnumGlobally(Of ActionRecord.ScheduleLinkType)("schedule_link_type")

我试图插入的字段的参数是(来自Visual调试器监视窗口):

代码语言:javascript
复制
command.Parameters(1)   {Npgsql.NpgsqlParameter}    Npgsql.NpgsqlParameter
    Collection  {Npgsql.NpgsqlParameterCollection} Npgsql.NpgsqlParameterCollection
    DbType  Object {13} System.Data.DbType
    Direction   Input {1}   System.Data.ParameterDirection
    EnumType    {Name = "ScheduleLinkType" FullName = "VSData.ActionRecord+ScheduleLinkType"}   System.Type {System.RuntimeType}
    IsNullable  False   Boolean
    NpgsqlDbType    Enum {47}   NpgsqlTypes.NpgsqlDbType
    NpgsqlValue FinishToFinish {1}  Object {VSData.ActionRecord.ScheduleLinkType}
    ParameterName   "link_type" String
    Precision (System.Data.Common.DbParameter)  0   Byte
    Precision   0   Byte
    Scale (System.Data.Common.DbParameter)  0   Byte
    Scale   0   Byte
    Size    0   Integer
    SourceColumn    ""  String
    SourceColumnNullMapping False   Boolean
    SourceVersion   Current {512}   System.Data.DataRowVersion
    Value   FinishToFinish {1}  Object {VSData.ActionRecord.ScheduleLinkType}

有人知道为什么这不管用吗?

EN

回答 1

Stack Overflow用户

发布于 2016-10-26 07:31:39

由于某种原因,这个问题已经消失了,现在一切正常工作(请注意,自从发布了最初的问题后,我已经将NPGSQL更新为3.1.8,但我没有注意到这个问题是否由于升级或其他更改而消失)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36065960

复制
相关文章

相似问题

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