使用EF code first和asp.net mvc4遇到的问题总结
2013-10-23 15:03
579 查看
最近使用EF code first和asp.net mvc4做项目,遇到些问题,记录一下。
一、EF code first 生成外键列问题。
一般情况下,都是先写一个int型外键id属性,然后写一个外键对象属性,也就是导航属性。
View Code
二、asp.net mvc中使用DropDownListFor 外键列表
1.关于异常 不存在具有键“XXX”的“IEnumerable<SelectListItem>”类型的 ViewData 项。
原因是后台需要准备Ienumerable<SelectListItem>数据,存放到ViewData[key]中,cshtml在取数据的时候key不要写错,就可以了。
2.关于异常:对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性。
如果cshtml中这样写:@Html.DropDownListFor(m => m.UserGroup.Id, items) ,使用外键对象.Id的形式会报这个错。
原因是又会根据得到的UserGroup对象去数据库添加一条UserGroup数据,而此时UserGroup对象只有Id这一个数据的数据,如果还有其他属性的话,比如Name等等,则为null,导致报错。这是我们不愿看到的,因为对于外键列的下拉列表数据有专门的地方去添加,不能因为添加一个User数据,也把UserGroup外键对象也添加了。
解决:@Html.DropDownListFor(m => m.UserGroupId, items),直接使用int型的属性,不要用对象.Id的形式即可。
先写这么多,遇到错误再补充。
一、EF code first 生成外键列问题。
一般情况下,都是先写一个int型外键id属性,然后写一个外键对象属性,也就是导航属性。
public class UserInfoDemo { //用户组外键Id 定义成外键对象+Id形式 public int UserGroupId { get; set; } //用户组外对象 public virtual UserGroup UserGroup { get; set; } }
View Code
二、asp.net mvc中使用DropDownListFor 外键列表
1.关于异常 不存在具有键“XXX”的“IEnumerable<SelectListItem>”类型的 ViewData 项。
原因是后台需要准备Ienumerable<SelectListItem>数据,存放到ViewData[key]中,cshtml在取数据的时候key不要写错,就可以了。
2.关于异常:对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性。
如果cshtml中这样写:@Html.DropDownListFor(m => m.UserGroup.Id, items) ,使用外键对象.Id的形式会报这个错。
原因是又会根据得到的UserGroup对象去数据库添加一条UserGroup数据,而此时UserGroup对象只有Id这一个数据的数据,如果还有其他属性的话,比如Name等等,则为null,导致报错。这是我们不愿看到的,因为对于外键列的下拉列表数据有专门的地方去添加,不能因为添加一个User数据,也把UserGroup外键对象也添加了。
解决:@Html.DropDownListFor(m => m.UserGroupId, items),直接使用int型的属性,不要用对象.Id的形式即可。
先写这么多,遇到错误再补充。
相关文章推荐
- Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题
- 使用EF codefirst时遇到的几个问题
- Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题
- Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题
- EF Code First 使用继承类的一个问题
- 安装EntityFramework(EFCodeFirst)遇到的问题(0X80004005)的解决办法
- 使用 Code First Migrations 更新数据库遇到的问题
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)
- EF使用MySql DBFirst产品的问题总结
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)
- EF 4.* Code First 遇到的问题汇总(一)
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)(转)
- (转 )Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)
- 使用loadrunner进行压力测试遇到的问题总结
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一
- 使用Entity Framework时遇到的各种问题总结
- 关于在neoshine linux下使用电视卡遇到的问题和总结
- 使用Pluto+Tomcat 开发遇到的问题和总结 (1)
- 使用U盘安装centos6.8遇到的一点问题总结