实验

直接上代码,看结果

实体类

[Flags]
public enum FlagsEnum
{
Day = 1,
Night = 2
}
public class EntityWithEnum
{
public int ID { get; set; } public FlagsEnum ValidTime { get; set; } }

数据库上下文

public partial class CodeFirstModel : DbContext
{
public CodeFirstModel()
: base("name=CodeFirstModel")
{
} public virtual DbSet<EntityWithEnum> EntityWithEnum { get; set; }
}

Sql server LocalDb的连接字符串

<connectionStrings>
<add name="CodeFirstModel" connectionString="data source=(LocalDb)\MSSQLLocalDb;initial catalog=TestDb;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>

主函数

static void Main(string[] args)
{
//CreateDatabaseIfNotExists
//DropCreateDatabaseIfModelChanges
//DropCreateDatabaseAlways
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<CodeFirstModel>());
using (var context = new CodeFirstModel())
{
context.Database.Initialize(true);
} using(CodeFirstModel db = new CodeFirstModel())
{
EntityWithEnum entity = new EntityWithEnum() { ValidTime = FlagsEnum.Day };
db.EntityWithEnum.Add(entity); entity = new EntityWithEnum() { ValidTime = FlagsEnum.Night };
db.EntityWithEnum.Add(entity); entity = new EntityWithEnum() { ValidTime = FlagsEnum.Night| FlagsEnum.Day };
db.EntityWithEnum.Add(entity); db.SaveChanges();
Console.WriteLine("{0}:\t{1}", entity.ID, entity.ValidTime);
Console.WriteLine("-------------------"); var entitys = from e in db.EntityWithEnum
where e.ValidTime.HasFlag(FlagsEnum.Day)
select e; foreach (var item in entitys)
{
Console.WriteLine("{0}:\t{1}", item.ID, item.ValidTime);
} }
Console.ReadKey(true);
}

运行结果

结论

Entity Framework 6.0 的 LINQ 是可以直接写 枚举的 HasFlags 方法的.

Add 的实体在 数据库保存后,会将数据库生成好的主键读出来.不用再写LINQ 再查一遍了.

Entity Framework 6.0 对枚举的支持/实体添加后会有主键反回的更多相关文章

  1. Entity Framework 5.0

    今天 VS2012  .net Framework 4.5   Entity Framework 5.0  三者共同发布了. ( EF5 Released ) 在介绍新特性之前,先与大家回顾一下EF版 ...

  2. 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性

    [索引页][源码下载] 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性 作者:weba ...

  3. 在Entity Framework 4.0中使用 Repository 和 Unit of Work 模式

    [原文地址]Using Repository and Unit of Work patterns with Entity Framework 4.0 [原文发表日期] 16 June 09 04:08 ...

  4. 浅析Entity Framework Core2.0的日志记录与动态查询条件

    前言 Entity Framework Core 2.0更新也已经有一段时间了,园子里也有不少的文章.. 本文主要是浅析一下Entity Framework Core2.0的日志记录与动态查询条件 去 ...

  5. Entity Framework 6.0 Code First(转)

    源自:http://www.cnblogs.com/panchunting/tag/Code%20First/ 1 Conventions 2 Custom Conventions 3 Data An ...

  6. Entity Framework 6.0 入门系列 第一篇

    Entity Framework 6.0 入门系列 第一篇 好几年前接触过一些ef感觉不是很好用,废弃.但是 Entity Framework 6.0是经过几个版本优化过的产物,性能和功能不断完善,开 ...

  7. 开发 ASP.NET vNext 续篇:云优化的概念、Entity Framework 7.0、简单吞吐量压力测试

    继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之后, 关于云优化和版本控制: 我本想做一下MAC和LINUX的self-ho ...

  8. [EF2]Sneak Preview: Persistence Ignorance and POCO in Entity Framework 4.0

    http://blogs.msdn.com/b/adonet/archive/2009/05/11/sneak-preview-persistence-ignorance-and-poco-in-en ...

  9. Entity Framework 5.0系列之Code First数据库迁移

    我们知道无论是"Database First"还是"Model First"当模型发生改变了都可以通过Visual Studio设计视图进行更新,那么对于Cod ...

随机推荐

  1. SharpNodeSettings项目,可配置的数据采集,统一的工业数据网关,OPC UA服务器开发,PLC数据发布到自身内存,redis,opc ua,以及数据可视化开发

    本项目隶属于 HslCommunication 项目的SDK套件,如果不清楚HslCommunication组件的话,可以先了解那个项目,源代码地址:https://github.com/dathli ...

  2. LSTM长短期记忆网络

    Long Short Term Memory networks : http://colah.github.io/posts/2015-08-Understanding-LSTMs/

  3. busybox microcom Segmentation fault

    /********************************************************************************* * busybox microco ...

  4. Python windows ping

    # -*- coding: utf-8 -*- import os # 参考文档: # Ping to a specific IP address using python [duplicate] # ...

  5. vue.js权威指南----代码解释实例

    1:P61(值绑定) <input type="checkbox" v-model="toggle" :true-value="a" ...

  6. hdu1066

    求N!的非零末尾位(吉大ACM模板) #include <stdio.h> #include <string.h> #define MAXN 10000 int lastdig ...

  7. 你正在从一个声称代表如下的证书颁发机构安装证书 alipay truest network,希望能知道程序是怎么实现的或相关资料

    你正在从一个声称代表如下的证书颁发机构安装证书 alipay truest network,希望能知道程序是怎么实现的或相关资料

  8. emacs之配置yasnippet

    ~/emacsConfig/auto-complete-yasnippet-setting.el (require 'yasnippet) (setq ac-sources (append '(ac- ...

  9. Jmeter的参数配置

    Ramp-up Period(in seconds) [1]决定多长时间启动所有线程.如果使用10个线程,ramp-up period是100秒,那么JMeter用100秒使所有10个线程启动并运行. ...

  10. [Java.web]JSTL 使用

    <%@ page import="cn.itcast.domain.Person"%> <%@ page language="java" im ...