• Entity Framework入门教程(16)---Enum


    EF DbFirst模式中的枚举类型使用

    这一节介绍EF DbFirst模式中的Enum(枚举类型),CodeFirst模式中的Enum会在以后的EF CoreFirst系列中介绍。EF5中添加了对Enum的支持。现在Enum支持的数据类型有:Int16,int32,int63,byte,sbyte。

    EF中Enum的使用有两种:

    ① 通过EDM设计器将实体中的某一属性转换为枚举类型

    ② 使用已存在的枚举

    1.通过EDM设计器将实体中的某一属性转换为枚举类型

    一个栗子:

    我们将把Teacher表的TeacherType列转换为枚举类型。在TeacherType中1表示permanent teachers类型,2表示contractor teachers类型,3表示guest teachers类型。

    实现方法:在Teacher的TeacherType属性上点击右键,选择Convert to Enum,如下图

    这时会弹出Add Enum Type会话框,将Underlying Type设置为int32(和数据库中类型对应),添加枚举成员如下图所示

    点击Ok后打开模型浏览器发现在Enum Type文件夹下多了TeacherType,Teacher模型中的TeacherType也变成了TeacherType。

                        

     这时我们就可以在代码中使用枚举类型了:

    using (var ctx = new SchoolDBEntities())
    {
        Teacher tchr = new Teacher();
        tchr.TeacherName = "New Teacher";
    
        //指定枚举类型
        tchr.TeacherType = TeacherType.Permanent;
    
        ctx.Teachers.Add(tchr);
        ctx.SaveChanges();
    }

    2.使用已存在的枚举

    如果我们已经有了一个枚举类型,我们可以把任意一个实体的属性的数据类型指定为这个枚举类型。

    实现方法:在模型设计器中右键->Add New->Enum Type->填入枚举的名字(不用添加成员,因为我们在代码中已经有了枚举的成员),选择 Refernce external type ,填入枚举的命名空间,点击Ok就可以了。这时模型浏览器的Enum Type文件夹中就有了我们添加的枚举。我们可以把这个枚举指定给任意实体的任意属性。

    EF系列目录链接:Entity Franmework系列教程汇总

  • 相关阅读:
    centos7安装nginx的两种方法
    centos7 搭建keepalived+Nginx+tomcat
    Linux下Nginx+Tomcat负载均衡和动静分离配置要点
    Tomcat结合Apache、Nginx实现高性能的web服务器
    centos7安装jdk+tomcat+nginx+mysql
    python3 密码生成器
    如何处理Tomcat日志catalina.out日志文件过大的问题
    Tomcat关闭日志catalina.out
    tomcat 启动项目时出现 ZipException: error in opening zip file
    [科普]MinGW vs MinGW-W64及其它(比较有意思,来自mingw吧)
  • 原文地址:https://www.cnblogs.com/wyy1234/p/9641210.html
Copyright © 2020-2023  润新知