【问题标题】:ASP.net 4.0 Entity Data Model Mysql Not Treating Mysql Enums RightASP.net 4.0 实体数据模型 Mysql 未正确处理 Mysql 枚举
【发布时间】:2011-08-21 20:11:56
【问题描述】:

我刚开始学习,用 MySql 测试 ADO.net 实体数据模型 - 一切都很棒,除了我注意到一件事..

在我的 MySql 表中,我创建了一个 Enum 列类型。当 ASP.net 创建模型类时,枚举被视为字符串而不是枚举 - 有没有办法解决这个问题?

MySql 中的 UserStatus 列是一个 Enum,它具有 2 个潜在属性,启用和禁用 - 但是 asp.net 将其视为字符串值: user.UserStatus = "已启用";

希望看到这些方面的东西...... user.UserStatus = UserStatuses.Enabled;

谢谢!!

罗兰

【问题讨论】:

    标签: asp.net mysql linq linq-to-sql


    【解决方案1】:

    没有枚举 sql 类型,至少不是标准类型,这意味着它是非标准的,您将很难找到任何适当支持它的框架。

    更糟糕的是,Entity Framework 目前也不支持代码中的 Enum 类型。有一些技巧和解决方法,但您会发现它们很痛苦并且不值得。出于所有意图和目的,MySQL 枚举是一个字符串对象。不过,您可能必须发出一些自定义 sql 来获取枚举类型以填充您的列表框。

    哦,仅供参考:8 Reasons why MySQL's ENUM data type is evil

    【讨论】:

    • 真不幸!您对在这种情况下处理“enum LIKE”值有什么建议吗?我只是喜欢使用枚举,因为它们为我使用的常见字段的分配提供了一种简单的方法,而不必记住它们所有的字符串可能性
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多