Entity Framewor 学习笔记 (Enum)
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)的更多相关文章
- Entity Framewor 学习笔记 (碎碎的东西)
Proxy 类代理类是为了让EF实现lazy load才需要的 public class BloggingContext : DbContext { public BloggingContex ...
- Entity Framewor 学习笔记 (include + where)
如果我们想在子查询做过滤的话应该怎样写呢? IEnumerable<Product> products = db.products.Include(p => p.colors.Whe ...
- Entity Framework 学习笔记(2)
上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...
- Entity Framework学习笔记
原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总 之前的小项目做完了,到了总结经验和 ...
- ADO.NET Entity Framework学习笔记(3)ObjectContext
ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转] 说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...
- Programming Entity Framework-dbContext 学习笔记第五章
### Programming Entity Framework-dbContext 学习笔记 第五章 将图表添加到Context中的方式及容易出现的错误 方法 结果 警告 Add Root 图标中的 ...
- Entity Framework学习笔记——错误汇总
之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...
- Entity Framework学习笔记——记一个错误解决方式及思路
继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Da ...
- Entity Framework学习笔记——配置EF
初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF ...
随机推荐
- [git] github 使用简单记录
前提 :1. 已有 github 账号.2. 已安装 git .3. 在 github 和 本地 git 客户端交互秘钥.(这步我记得需要做,有点久远,不确定.) 正文: 下面是一个简单的例子.先在 ...
- 基于Struts2 的日志管理系统的Java实现
1.首先,项目的架构如下: 2.com.sxl.dba 中:OracleConnector.java package com.sxl.dba; import java.sql.*; ...
- python爬虫__第一个爬虫程序
前言 机缘巧合,最近在学习机器学习实战, 本来要用python来做实验和开发环境 得到一个需求,要爬取大众点评中的一些商户信息, 于是开启了我的第一个爬虫的编写,里面有好多心酸,主要是第一次. 我的文 ...
- 【转】非常完善的Log4net详细说明
转自:http://www.cnblogs.com/zhangchenliang/p/4546352.htmlhttp://www.cnblogs.com/zhangchenliang/p/45463 ...
- 终极shell zsh
在mac上安装zsh,推荐安装. 参见http://macshuo.com/?p=676. 安装成功提示,看着很帅的样子
- Object -C NSSet -- 笔记
// // main.m // NSSET // // Created by facial on 25/8/15. // Copyright (c) 2015 facial_huo. All ...
- Laravel 4 Quick Tip: Custom Error Pages
App::error(function($exception, $code) { switch ($code) { case 403: return Response::view('errors.40 ...
- easyui 分页实现
1.用datagrid 做分页显示, 依据API样例,最终解决.废话不说,datagrid分页 有一个附加的分页控件 通过在datagrid中设置pagination:true 就会显示分页 当请求是 ...
- springMVC如何判断入参是默认参数还是请求传过来的参数?
springMVC如何判断入参是默认参数还是请求传过来的参数?
- Design Pattern ——Builder
一.基础知识:先前学习建造者模式的时候,总是以这个UML图作为学习基础资料 然后总是要记住四个角色 产品类:一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量.在本类图中 ...