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 ...
随机推荐
- [Java] 可运行 jar 记录
在 Eclipse 上,通过 Export 选择 Java 下的 Runnable JAR file ,可以将项目导出一个可执行的 jar 包. 例子如下 1. Eclipse 项目只有一个文件 ma ...
- 《SDN核心技术剖析和实战指南》2.3 OF-CONFIG配置管理协议小结
OpenFlow协议定义了交换机和控制器交换数据的方式和规范,但并没有定义如何配置和管理必需的网络参数和网络资源,OF-CONFIG的提出就是为了对OpenFlow提供配置管理支持.如下图所示,OF- ...
- C++11 可变参数模板
在C++11之前, 有两个典型的受制于模板功能不强而导致代码重复难看的问题, 那就 function object 和 tuple. 拿 function objects 来说, 需要一个返回类型参数 ...
- SQL - 添加外键
不解释: ---先创建外键的column ALTER TABLE tblLicenses ADD ProductID int not null; ---添加外键 ALTER TABLE tblLice ...
- Node.js初体验
1.Node.js是什么 [1]Node是一个server端 JavaScript 解释器,但是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了.总结:水深不深我还不知道, ...
- .Net程序猿玩转Android开发---(3)登陆页面布局
这一节我们来看看登陆页面如何布局.对于刚接触到Android开发的童鞋来说.Android的布局感觉比較棘手.须要结合各种属性进行设置,接下来我们由点入面来 了解安卓中页面如何布局,登陆页面非常eas ...
- UI开发--响应者链条
一.触摸事件处理的详细过程 用户点击屏幕后产生的一个触摸事件,经过一些列的传递过程后,会找到最合适的视图控件来处理这个事件 找到最合适的视图控件后,就会调用控件的touches方法来作具体的事件处理 ...
- js中String对象
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 9、第九节课jquery选择器jq2,20151007
1.表单选择器 2.not 里面不能加其他标签 $div p:not(not:disable) 错误的 $div p:not(:disable) 正确的 3.选择设置相应属性的标签项 $(&quo ...
- javascript:运动框架
function startMove(obj,json,fnEnd) { clearInterval(obj.timer);//清除定时器 obj.timer=setInterval(function ...