EntityType 'UserInfo' has no key defined. Define the key for this EntityType.

One or more validation errors were detected during model generation:

 System.Data.Edm.EdmEntityType: : EntityType 'UserInfo' has no key defined. Define the key for this EntityType. System.Data.Edm.EdmEntitySet: EntityType: EntitySet �UserInfo� is based on type �UserInfo� that has no keys defined.

遇见这个问题,我觉得很奇特,因为事实上我已经为'UserInfo'这个类定义了[KEY]的类注释。

然后又提示我找不到Key。见下面的代码

 1     public class UserInfo
 2     {
 3         [Key]
 4         public int UserID;
 5         public string UserName;
 6         public string Password;
 7         public int UseState;
 8         public string Email;
 9         public DateTime AddTime;
10         public int AddUser_ID;
11         public string ImgUrl;
12         public virtual UserType UserTypes { get; set; }
13     }

后面在stackoverflow上找到了答案。EF会自动识别一个实体的主键只要主键的名称符号 'Id'或 '实体名Id'. 另外,它必须声明成属性,访问权限必须是Public的。这个错误是因为我将UserId声明成了一个字段,只要修改成属性就OK了。修改后的代码如下所示。

 

 1     public class UserInfo
 2     {
 3         [Key]
 4         public int UserID { get; set; }
 5         public string UserName { get; set; }
 6         public string Password { get; set; }
 7         public int UseState { get; set; }
 8         public string Email { get; set; }
 9         public DateTime AddTime { get; set; }
10         public int AddUser_ID { get; set; }
11         public string ImgUrl{ get; set; }
12         public virtual UserType UserTypes { get; set; }
13     }

 

 

 

 

2013-01-10  16:50:05

作者:kissazi2 
出处:http://www.cnblogs.com/kissazi2/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/archive/2013/01/10/2855082.html

时间: 2025-01-20 23:22:51

EntityType 'UserInfo' has no key defined. Define the key for this EntityType.的相关文章

基于redis(key分段,避免一个key过大) 和db实现的 布隆过滤器(解决hash碰撞问题)

1.计算出key的哈希值. 2. 根据hash值和固定段大小取模计算出偏移位offset. 3. 根据固定前置+hash值/固定段大小计算出所处段的bitKey. 4. 根据bitKey和offset判断是否存在. 5. 如果存在然后调用containsFromDb判断是否存在. 6. 将redis setbit进行分段可以避免单个key数据量过大. 7. 如果redis是集群也可以将分出来的段根据jedis crc16算法有概率的被打算 在各个节点上,避免单个节点过热. 代码示例: packa

怎样将一个BigIntger转化为Key类型(java.security.Key)?

问题描述 假定A和B需要加密通信,A生成对称密钥作为会话密钥,并用B的公钥加密发送给给B,然后B用自己的私钥解密,得到会话密钥,之后A.B就可以进行加密会话.但是B用自己的私钥解密A发送的密文,所得到的明文(即会话密钥)是BigIntger类型,而会话密钥需要Key类型(java.security.Key),请问怎样将BigIntger转化为Key呢?或者有其他的解决方法. 就相当于用RSA的公钥将一个对称密钥Key加密,然后再用私钥解密,希望得到之前的Key,但是解密后得到的是一个BigInt

hadoop spark-在MR模型中,怎么根据处理数据的属性设置双key,甚至多key去map?

问题描述 在MR模型中,怎么根据处理数据的属性设置双key,甚至多key去map? 在MR模型中,怎么根据处理数据的属性设置双key,甚至多key去map? 解决方案 http://my.oschina.net/cloudcoder/blog/277267

key app 原理-App Key & App Secret如何生成

问题描述 App Key & App Secret如何生成 使用百度,新浪,地图,天气,云平台等的API接口, 通常需要注册为开发者,然后获取一个key或者App Key,App Secret. 在开发的过程中,就会使用到这些key. 我想问一下这个key是怎么生成的?难道仅仅就是使用个GUID? 想不通,心里痒痒的. 解决方案 因为web接口是公开的,没有key,有可能冒名者会盗用别人的身份调用api. 解决方案二: 一般就是guid或者可以避免重复和难以猜测的数字/字符.由平台分配或者生成.

HDFS数据导入Hbase出错,报后面key不能比前面key大,求大神

问题描述 publicclassLoadDataToHBase{publicstaticclassLoadDataToHBaseMapperextendsMapper<LongWritable,Text,ImmutableBytesWritable,Text>{publicstaticinty,m,d,h,n,s,mm;Calendarcal=Calendar.getInstance();//map的key用一个immutableBytesWritable类型的无意义的key,map的valu

【转】卡巴斯基2011导入key专用工具+卡巴斯基提取key工具(激活码转换key)

      卡巴2011key导入工具."透明"的VBA代码放心使用吧!呵呵~~~~   仅限XP环境下使用卡巴2011版本. 卡巴2011key导入工具 地址:http://dl.dbank.com/c05ap97kc6 --------------------------------------------------       1.  用错误的激活码调出key导入窗口:输入错误激活码"22222-22222-22222-2222U" 点下一步会提示你激活码错

EF里Guid类型数据的自增长、时间戳和复杂类型的用法

原文:EF里Guid类型数据的自增长.时间戳和复杂类型的用法 通过前两章Lodging和Destination类的演示,大家肯定基本了解Code First是怎么玩的了,本章继续演示一些很实用的东西.文章的开头提示下:提供的demo为了后面演示效果,前面代码有些是注释了的,请按照文章讲解的顺序先后释放注释并运行查看效果. I.EF里Guid类型数据的自增长 现在新添加一个Trip旅行类: /// <summary> /// 旅行类 /// </summary> public cla

开源日志系统log4cplus(七)

经过短暂的熟悉过程,log4cplus已经被成功应用到了我的项目中去了,效果还不错,:)除了上文提及的 功能之外,下面将介绍log4cplus提供的线程和套接字的使用情况. ### NDC ### 首先我们先了解一下log4cplus中嵌入诊断上下文(Nested Diagnostic Context),即NDC.对log系统而言, 当输入源可能不止一个,而只有一个输出时,往往需要分辩所要输出消息的来源,比如服务器处理来自不同 客户端的消息时就需要作此判断,NDC可以为交错显示的信息打上一个标记

React 实践心得:key 属性的原理和用法

我们知道,React 元素可以具有一个特殊的属性 key,这个属性不是给用户自己用的,而是给 React 自己用的.如果我们动态地创建 React 元素,而且 React 元素内包含数量或顺序不确定的子元素时,我们就需要提供 key 这个特殊的属性. 如果你有下面这样的代码: const UserList = props => ( <div> <h3>用户列表</h3> {props.users.map(u => <div>{u.id}:{u.n