代码之家  ›  专栏  ›  技术社区  ›  uriDium

如何将枚举绑定到bit或int的DbType?

  •  5
  • uriDium  · 技术社区  · 14 年前

    我正在使用Linq2Sql,希望将objects字段(即enum)绑定到数据库中的bit或int类型。例如,我想在我的模型中有一个性别字段。我已经编辑了DBML并将类型更改为指向我的枚举。我想创建单选按钮(我想我已经找到了)为性别和下拉列表为其他领域使用相同的想法。我的枚举是这样的

    public enum Gender
    {
        Male,
        Female
    }
    
    Mapping between DbType 'int' and Type 'Project.Models.Gender' in Column 'Gender' of Type 'Candidate' is not supported.
    

    关于如何绘制地图有什么想法吗。我是不是遗漏了什么。

    2 回复  |  直到 14 年前
        1
  •  12
  •   Oleks    14 年前

    如果你有 int 枚举如下:

    public enum Gender
    {
        Male = 0,
        Female
    }
    

    内景 列,下一个映射应该可以正常工作。

    <Column Name="Gender" Type="global::Project.Models.Gender" DbType="Int NOT NULL"
            CanBeNull="false" />
    

    有可能 global::

        2
  •  2
  •   Paul Nicklin    11 年前

    我发现了

    Type="System.Boolean" DbType="bit" CanBeNull="true"
    

    Type="WhatNextEnum?" DbType="int" CanBeNull="true"
    

    如果不这样做,您将得到“DBML1005:DbType'int'和类型'whatnextum'之间的映射…”。。。不支持。错误