首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >首先将字段映射到EntityFramework 5代码中的枚举

首先将字段映射到EntityFramework 5代码中的枚举
EN

Stack Overflow用户
提问于 2013-03-21 05:11:49
回答 1查看 7.3K关注 0票数 9

所以,我有一个课程如下:

代码语言:javascript
运行
AI代码解释
复制
public class Message {

        public enum MessageType {
            Text = 0,
            Audio = 1,
            Image = 2
        }

        public int Uid { get; set; }
        public MessageType Type { get; set; }
        public String Text { get; set; }

}

如您所见,Type字段是一个枚举。将数据匹配到该类的映射如下所示:

代码语言:javascript
运行
AI代码解释
复制
public class MessagesMap : EntityTypeConfiguration<Message> {

    public MessagesMap() {

        // Primary Key
        this.HasKey(t => t.Uid);

        // Properties
        this.Property(t => t.Text)
            .HasMaxLength(1000);

        // Table & Column Mappings
        this.ToTable("wc_messages");
        this.Property(t => t.Uid).HasColumnName("UID");
        this.Property(t => t.Type).HasColumnName("Type");
        this.Property(t => t.Text).HasColumnName("Text");

    }
}

但是,当我运行代码时,我会得到以下错误:

属性“type”不是“Message”类型上声明的属性。使用忽略方法或NotMappedAttribute数据注释验证该属性未显式排除在模型中。确保它是有效的原语属性。

我知道我得到了错误,因为Type属性不是一个原语,而是一个枚举。但是,如果我正确理解,EF5支持枚举(并且我针对的是.NET 4.5框架),所以我假设我在映射中遗漏了一些东西,它没有解释如何转换到枚举,但我不知道这是什么。如果我将字段改为int --这一切都很好,只有当字段类型为enum时,我才会得到错误。

我遗漏了什么?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-22 13:00:17

原来我很笨,在POCO类中声明了我的enum块,但是完全没有注意到它。我意识到这一点,多亏了@overmachine的一句忍者的评论(这句话后来消失了),并且把声明移出了我的课堂,一切又恢复了正常。无论他走到哪里,都要感谢他,教训他要更加专心地叹息。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15548569

复制
相关文章
EntityFrameWork实现部分字段获取和修改(含源码)
  EntityFrameWork类库,是微软推出的ORM组件,它是基于Ado.Net的,个人感觉还是非常 好用的。以下介绍的2个功能点分别是部分字段更新和获取   解决部分字段Update。本方案采
用户1219352
2018/02/01
1.1K0
EntityFrameWork实现部分字段获取和修改(含源码)
定义枚举的构造函数、方法和字段
import org.junit.Test; public class lan { @Test public void test(){ print(Grade.D); } public void print(Grade g) { String valueString = g.getValue(); System.out.println(valueString); } }
MonroeCode
2018/01/11
1.2K0
自定义枚举 --- MyBatis字段映射
ps: 参考资料写得特别好,我之所以重新写了一下,是资料写得有点啰嗦,比如子类的注册,其实都是自动的,不需要再额外配置
十毛
2019/03/27
2.2K0
MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013
MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具 经过一个多星期的努力总算完成了单表,多表关联(一对多,多对一)的增删改查的代码生成,基本上可以实现不用添加任何代码完成对数据表的操作。 下个阶段打算集成.net 4.5的认证和授权已经用户注册和角色管理 一旦有更好的方式我会把它集成到模板中实现自动生成。所以很希望得到大家的帮助。在这里我先抛砖引玉了。 asp.net MVC 5 Scaffolding多层架构代码生成向导开源项目(邀请你
阿新
2018/04/12
1.4K0
MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013
如何处理PHP代码中的枚举类型enum?
我们有时使用常量来定义代码中的一些常量值。它们被用来避免魔法价值。我们可以用一个符号名称替换一些魔法值来赋予它一些意义。然后我们在代码中引用符号名。因为我们定义了一次并多次使用它,所以搜索它以及以后重命名或更改值会更容易。
叫我可儿呀
2019/12/05
1.6K0
EntityFramework附加实体
//0.0创建修改的 实体对象 Models.BlogArticle model = new BlogArticle(); model.AId = 12; model.ATitle = "新的数据"; model.AContent = "新的数据~~~~~"; //0.1添加到EF管理容器中,并获取 实体对象 的伪包装类对象 DbEntityEntry<Models.BlogArticle> entry = db.Entry<Models.BlogArticle>(model); //**如果使用 En
liulun
2018/01/12
7710
EntityFramework快速上手
什么是Entity Framework 微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。开发人员使用Linq语言,对数据库操作如同操作Object对象一样省事。 EF有三种使用场景: 从数据库生成Class, 由实体类生成数据库表结构, 通过数据库可视化设计器设计数据库,同时生成实体类。 O/RM是什么? ORM 是将数据存储从域对象自动映射到关系型数据库的工具。ORM主要包括3个部分:域对象、
李郑
2018/03/01
1.9K0
EntityFramework快速上手
领域对象映射到微服务代码模型
以保证领域模型和微服务的一体性。但在构建领域模型时,我们往往是在业务视角,并且有些领域对象还带业务语言。我们还需要将领域模型作为微服务设计的输入,对领域对象进行设计和转换,让领域对象与代码对象建立映射关系。
JavaEdge
2021/02/23
3970
领域对象映射到微服务代码模型
Java中的枚举Enum
如果我要定义这样一个枚举类,让它能够返回对应日期的中文怎么办?我们可以定义枚举中的成员函数。
卡尔曼和玻尔兹曼谁曼
2019/01/25
1.1K0
枚举进程中的模块
在Windows中枚举进程中的模块主要是其中加载的dll,在VC上主要有2种方式,一种是解析PE文件中导入表,从导入表中获取它将要静态加载的dll,一种是利用查询进程地址空间中的模块,根据模块的句柄来得到对应的dll,最后再补充一种利用Windows中的NATIVE API获取进程内核空间中的模块,下面根据给出这些方式的具体的代码片段:
Masimaro
2018/08/31
1.7K0
Python 中的枚举类型
你好,我是 征哥,今天分享一下 Python 中的枚举类型,为什么需要枚举类型,及如何使用。
somenzz
2022/10/25
9860
Python中的枚举类型
>>> from enum import Enum #导入模块中的类 >>> class Color(Enum): #创建自定义枚举类 red = 1 blue = 2 green = 3 >>> Color.red #访问枚举类的成员 <Color.red: 1> >>> type(Color.green) #查看枚举类成员的类型 <enum 'Color'> >>> isinstance(Color.red, Color) True >>> x = dict() >>>
Python小屋屋主
2018/04/16
1.2K0
一首诗的代码
#include <stdio.h> #include <stdlib.h> #include <windows.h> int one1=1,one2=1,one3=1,one4=1,one5=1,one6=1; void color1() { system("color F4"); Sleep(500); } void color2() { system("color FC"); Sleep(500); } void ai_1(int a,int b,int i) {
谙忆
2021/01/19
2820
MyBatis数据库字段映射Java枚举 顶
有时候我们需要将数据库的字段对Java的枚举类型进行映射,比如说我们有一个汽车配件类型的枚举
算法之名
2019/08/20
1.8K0
MyBatis数据库字段映射Java枚举
                                                                            顶
ts中枚举
填坑,官方文档:https://www.tslang.cn/docs/handbook/enums.html
阿超
2022/08/21
5490
ts中枚举
Rust中的Result枚举
Result枚举在Rust中是使用频率极高的一个类型,常用于函数的返回值定义,其源码如下:
菩提树下的杨过
2021/11/30
1.3K0
Rust中的Result枚举
c++枚举类型enum输出_python中的枚举
Enum枚举:枚举是一组命名整型常量,枚举类型是使用 enum 关键字声明的。枚举是值类型,数据直接存储在栈中,而不是使用引用和真实数据的隔离方式来存储,其包含自己的值,且不能被继承或者传递继承,枚举中每个元素的基础类型是 int。可以使用冒号指定另一种整数值类型。
全栈程序员站长
2022/10/01
1.6K0
c++枚举类型enum输出_python中的枚举
Java5 枚举(Enum)
enum的全称为 enumeration, 是 JDK 1.5 中引入的新特性。在Java中,被enum关键字修饰的类型就是枚举类型,此类继承了Enum类,形式如下:
HLee
2021/05/26
1.2K0
Java5 枚举(Enum)
你是如何处理 PHP 代码中的枚举类型 Enum 的?
本文旨在提供一些更好的理解什么是枚举,什么时候使用它们以及如何在php中使用它们.
猿哥
2019/10/13
1.5K0
C# 中的“智能枚举”:如何在枚举中增加行为
在这个示例中,我们定义了一个名为 Weekday 的枚举,其中包括每个星期的日子。然后在 Main 方法中,我们将 today 变量设置为 Tuesday,并使用 ToString() 方法将其转换为字符串。
郑子铭
2023/08/30
4190
C# 中的“智能枚举”:如何在枚举中增加行为

相似问题

首先将视图映射到MVC代码

11

如何首先将重写字段映射到核心EF代码中的数据库?

13

Entity Framework 5代码首先将字符串全局映射到varchar

32

首先将Guid属性映射到实体框架代码中的Oracle

33

如何在EF代码中先将主键映射到非主键?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档