关于MVC EntityType has no key defined的问题

在测试MVC时发现一个奇怪的问题,在Model中定义数据类时,如

public class UserInfo
{ public int UserId{get;set;} public string Name { get;set; }
public string PassWord{get;set;} //public virtual ICollection<TalkInfo> TalkInfo { get;set; }
}

使用该类生成Controler类时发生异常

错误提示:EntityType has no key defined.Define the key for this EntityType.(网上资料不是很多,难道我哪里写错了?继续研究..)

从提示看,没有创建类数据的Key值,OK,我们在类中定义一个KEY,

[Key]               ----添加Key属性时引用了using System.ComponentModel.DataAnnotations命名空间
public string Name { get;set; }

重新生成Controler类,没有错误提示,生成正常,View中的Index、Creat等页面也自动生成。但是这时候出现了下面问题:

在生成的View的Create等页面中,没有了Name的创建,也就是说Controler生成时自动忽略了添加了Key属性的Name,而此时无法创建Name,作为一个Key,Name为空肯定是有问题的,但是在Create页面手动添加Name的label,运行网站时此时会抛出新的异常,

Validation failed for one or more entities. See 'EntityValidationErrors' property for more details

db.SaveChanges();
应该是Name的Key问题,但是具体要改正什么地方无处下手.
在View中加入:
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
此时可以传入Name值,只要不为空,即可正常插入。但是Talkinfo还是有点小问题。总之上述问题至此解决,接着研究TalkInfo:)

关于MVC EntityType has no key defined的问题的更多相关文章

  1. MVC 创建Controllers 发生 EntityType has no key defined error

    发生如图错误 只需要在对应的类中指定Key即可 添加引用 : System.ComponentModel.DataAnnotations 参考:https://stackoverflow.com/qu ...

  2. Error Code: 1068. Multiple primary key defined

    1.错误描述 10:10:38 alter table user add num int(8) primary key first Error Code: 1068. Multiple primary ...

  3. mysql:[Err] 1068 - Multiple primary key defined

    添加主键时,出现错误:[Err] 1068 - Multiple primary key defined #增加主键 ) not null; ; alter table my_test add pri ...

  4. MVC中Model 的Key值不建议用非int型

    一次在开发中,key的值用了 byte型,结果插入第一条正常,第二条开始就出错,原因是用byte类型无法实现自动增加1,所以为了方便,建议使用 int型. public virtual byte bk ...

  5. 報錯:One or more validation errors were detected during model generation:System.Data.Edm.EdmEntityType: : EntityType 'Movie' has no key

    報錯:One or more validation errors were detected during model generation:System.Data.Edm.EdmEntityType ...

  6. MVC - 10.CodeFrist

    微软示例 1.(对新数据库使用 Code First):http://msdn.microsoft.com/zh-cn/data/jj193542 2.(连接和模型):http://msdn.micr ...

  7. spring mvc DispatcherServlet详解之二---request通过Controller获取ModelAndView过程

    整个spring mvc的架构如下图所示: 上篇文件讲解了DispatcherServlet通过request获取控制器Controller的过程,现在来讲解DispatcherServletDisp ...

  8. 《MVC+EF》——用DBFirst创建ADO.NET实体数据模型和对象关系映射

    转载于:http://blog.csdn.net/zhoukun1008/article/details/50528145 现在越来越喜欢MVC了,不光是因为ITOO中用到了他,而是因为它里面包含了很 ...

  9. C# 单点登录 MVC

    实现sso系统的主要难点: 1:不能直接访问数据库,有安全隐患,而且还容易乱套. 2:多个系统需要进行单点登录,逻辑需要严谨,能支持N多系统.而不只是少数几个系统. 3:代码不能过于复杂,需要简洁,灵 ...

随机推荐

  1. IC卡存储器介绍

    自从80年代中期出现IC电话卡后,基本已取代了原来流行的电话磁卡,磁卡存在存在严重的安全问题,已逐步淘汰.即使IC电话卡,也不能算很安全,卡内所有数据只要有简单的读写装置并按时序操作都能读取,事实上电 ...

  2. CSharp tar类型文件压缩与解压

    最近闲暇时间开始写点通用基础类在写到tar类型文件压缩与解压时遇到点问题 压缩用的类库我是下载的 SharpZipLib_0860版本 先上代码 加压核心 /// <summary> // ...

  3. 调试qemu

    最近需要给libvirt增加一个新feature,该feature基于qemu的最新代码. 我需要关心的: http://wiki.qemu.org/Features/Migration 需要自己编译 ...

  4. hdu 4598 Difference(奇圈判定+差分约束)

    这是通化邀请赛的题,当时比赛的时候还完全没想法呢,看来这几个月的训练还是有效果的... 题意要求(1) |ai| < T for all i   (2) (vi, vj) in E <=& ...

  5. iPhone 禁止 Safari 页面上下拖动反弹

    解决方法:  <body ontouchmove="event.preventDefault()"  >     手机端设置:  <meta content=&q ...

  6. Neo4j数据库简单

    作为世界上先进的地图数据库,Neo4j如今,公司已成为许多互联网的首选.Neo4j它是基于java开源地图数据库开发,另外一个NoSQL数据库.Neo4j在保证对数据关系的良好刻画的同一时候.还支持传 ...

  7. (十一年)unity4.6得知Ugui中国文献-------参考-UGUI Visual Components

     大家好,我是太阳广东. 转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unity ...

  8. 字典 -- 数据结构与算法的javascript描述 第七章

    字典 字典是一种以键-值对形式存储数据的数据结构 最基本功能规划 add 添加数据到字典 remove 从字典中移除数据 get 从字典中取出数据 count 统计字典数据量 find 查找数据在字典 ...

  9. SQL学习之汇总数据之聚集函数

    一. 1.我们经常需要汇总数据而不用把他们实际检索出来,为此SQL提供了专门的函数,以便于分析数据和报表生成,这些函数的功能有: (1)确定表中行数(或者满足单个条件或多个条件或包含某个特定值的行数) ...

  10. Ext.Net 使用总结之查询条件中的起始日期

    2.关于查询条件中起始日期的布局方式 首先上一张图,来展示一下我的查询条件的布局,如下: 大多数时候,我们的查询条件都是一个条件占一个格子,但也有不同的时候,如:查询条件是起始日期,则需要将这两个条件 ...