EF 6 支持Enum 的处理

首先说一下 mysql 和 sql server 的区别

mysql 是有 Enum 这个类型的 , insert 时是放入 int , 出来的时候它会是 string (int to str 是设定在 mysql 内的)

mssql 不支持 Enum 这个类型,也不好模拟. (有人用 check constraint 来模拟,我觉得不太理想)

入题,

sql 应该使用 int.

EF 对 Enum 会自行替换成 int ,我们就是要 Enum 就好

Json.net 在反序列化时是会处理Enum的,

在序列化时就不会,但我们可以自己调一下就可以了。

http://stackoverflow.com/questions/2441290/json-serialization-of-enum-as-string

在使用 web api 2 odata v4 时也可以使用 Enum

    public enum OrderStatusEnum
{
unpaid,
paid,
completed
}
[Table("order_test")]
public class OrderTest
{
[Key]
public int id { get; set; }
public string data { get; set; }
public OrderStatusEnum statusEnum { get; set; }
}

Entity 就这么写,controller 一如往常没什么区别

在做 REST 时,如果要 $filter 是这样写的 $filter=statusEnum eq EFDB.OrderStatusEnum'completed'" (namespace + enumClass + string)

做post, put 时,写 string 就可以了。

js : string

c# : Enum

sql : int

for Odata convert display name 可以参考 :

http://stackoverflow.com/questions/1415140/can-my-enums-have-friendly-names

https://github.com/OData/WebApi/blob/master/OData/src/System.Web.OData/OData/Formatter/Serialization/ODataEnumSerializer.cs

可以 odata response format 哪里拦截到 type = isEnum() 然后overwrite 掉default的converter .

Entity Framewor 学习笔记 (Enum)的更多相关文章

  1. Entity Framewor 学习笔记 (碎碎的东西)

    Proxy 类代理类是为了让EF实现lazy load才需要的 public class BloggingContext : DbContext {     public BloggingContex ...

  2. Entity Framewor 学习笔记 (include + where)

    如果我们想在子查询做过滤的话应该怎样写呢? IEnumerable<Product> products = db.products.Include(p => p.colors.Whe ...

  3. Entity Framework 学习笔记(2)

    上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...

  4. Entity Framework学习笔记

    原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和 ...

  5. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

  6. Programming Entity Framework-dbContext 学习笔记第五章

    ### Programming Entity Framework-dbContext 学习笔记 第五章 将图表添加到Context中的方式及容易出现的错误 方法 结果 警告 Add Root 图标中的 ...

  7. Entity Framework学习笔记——错误汇总

    之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...

  8. Entity Framework学习笔记——记一个错误解决方式及思路

    继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Da ...

  9. Entity Framework学习笔记——配置EF

    初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF ...

随机推荐

  1. XML初学笔记

    一.基本概要: XML,全称是eXtensible Markup Language,可扩展的标记语言,是Web服务的基础之一,使用XML,用户可以定义自己需要的标记.而用户创建的标记可以使用文档类型定 ...

  2. 获取机器本地的公网ip地址

    1. ipecho.net/plain

  3. 我与Ubuntu的5年共成长

    初次接触Ubuntu那还是2010年的初夏,那年大学二年级即将结束,为了增加计算机学院学生的技术能力和就业竞争力,学校组织了很多培训机构.公司企业来学校做技术宣讲.分享等 记得有一个企业是做Mp3 M ...

  4. QT5: QApplication, no such file or directory

    In QT5, when I use this: #include<QApplication>, QT tells :no such file or directory, even tho ...

  5. Unix C++(boost) 线程同步和线程组

    #include <boost/thread.hpp> #include <iostream> #include <vector> #include <cst ...

  6. js判断访问者是否来自移动端代码

    <script type="text/javascript"> function is_mobile() { var regex_match = /(nokia|iph ...

  7. java socker编程

    转自http://haohaoxuexi.iteye.com/blog/1979837 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户 ...

  8. NYOJ-569最大公约数之和

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=569 此题目可以用筛选法的思想来做,但是用到一个欧拉函数 gcd(1,12)=1,gcd( ...

  9. GSON 简介 示例

    Gson简介 目前解析json最常用的三种工具:org.json(Java常用的解析),fastjson(阿里巴巴出的),Gson(Google出的),解析速度最快的是Gson. Gson的全名为Go ...

  10. 30款jQuery常用网页焦点图banner图片切换 下载 (转)

    1.jquery 图片滚动特效制作 slide 图片类似窗帘式图片滚动 查看演示 2.jquery幻灯片插件带滚动条的圆形立体图片旋转滚动 查看演示 3.jQuery图片层叠旋转类似洗牌翻转图片幻灯片 ...