【培训】 项目实训中遇到的问题 总结 跟解决方法
在培训中遇到的问题 在此总结 避免以后遇到相同问题要找半天才能解决
【菜鸟 解决问题】
1、在查询数据时转换Json字符串时出现数据类型错误 "其他信息: DataSet 不支持 System.Nullable<>。"
【错误】table.Columns.Add(prop.Name, prop.PropertyType);【标红的就是报错数据类型】
【解决方法】把上面 那句换为:table.Columns.Add(prop.Name); 可以解决此问题
/// <summary> /// 创建表 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public static DataTable CreateTable<T>() { Type entityType = typeof(T); DataTable table = new DataTable(entityType.Name); PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(entityType); foreach (PropertyDescriptor prop in properties) { //table.Columns.Add(prop.Name);//换为这个后能解决错误问题 table.Columns.Add(prop.Name, prop.PropertyType);//在查询数据时转换Json字符串时出现数据类型错误 "其他信息: DataSet 不支持 System.Nullable<>。" } return table; }
2、在添加数据时报错:“对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性” 报这样错误时我们都不知道是哪个字段报错。可以使用 “DbEntityValidationException”来查看是哪个字段的错误!
【大神截图】原址:https://www.geek-share.com/detail/2598587241.html
但是,按照他的提示 “See 'EntityValidationErrors' property for more details.” 去 Exception 中查看,却只能看到
并不能看到具体的是那个属性为什么验证不通过,也许不少人都遇到这种情况。
这里给大家介绍一个Exception类,让我们能够轻松的知道具体的哪一个字段出了什么问题。
那就是 System.Data.Entity.Validation.DbEntityValidationException,相信代码都知道怎么写了,最简单的就是
try
{
// 写数据库
}
catch (DbEntityValidationException dbEx)
{
}
在 dbEx 里面中我们就可以看到
这样子我们就能看到 EntityValidationErrors 所有的 ValidationErrors 的详细信息了。
3、删除数据时报错:此操作的参数类型“Edm.Int32”和“Edm.String”不兼容。 附近 WHERE 谓词, 列 1, 列 80.错误
某个主键值的类型与实体中定义的类型不匹配。有关详细信息,请参阅内部异常。
解决方法:红色位置转换参数
public string Delete(FormCollection collection) { try { // TODO: Add delete logic here string role = collection["students"]; string[] Idarr = role.Split(','); for (int i = 0; i < Idarr.Length; i++) { UnitOfWork.RoleInfoRepositort.Delete(int.Parse(Idarr[i])); UnitOfWork.SaveChang(); } return "ok"; } catch (Exception ee) { throw ee.InnerException; } }
4、
传入字典的模型项的类型为“System.Linq.Enumerable+WhereSelectEnumerableIterator`2[HotelShow.SQLDAL.Hotel+OrderRow,HotelShow.Model.Order]”,但此字典需要类型“System.Collections.Generic.IEnumerable`1[HotelShow.Model.Customer]”的模型项。
public ActionResult Details(string id) { var list = UnitOfWork.EmployeeInfoRepository.GetList(e => e.EmployeeId == id);//这个位置报错 return View(list); }
因为是根据Id查询的数据,必要的在后面single()一下!
public ActionResult Details(string id) { var list = UnitOfWork.EmployeeInfoRepository.GetList(e => e.EmployeeId == id).Single();//改正后的数据 return View(list); }
转载于:https://www.cnblogs.com/TwilightSnow/p/4161884.html
- 点赞
- 收藏
- 分享
- 文章举报
- nodejs备忘总结(一) -- node和express安装与配置,新建简单项目(附安装配置过程中遇到问题的解决方法)...
- node开发指南中的microblog项目中遇到的问题总结及解决方法
- 项目中遇到的问题及解决方法总结
- PDA(WinCE)项目开发中遇到的问题及解决方法总结
- PDA(WinCE)项目开发中遇到的问题及解决方法总结
- iOS项目总结-项目中遇到的各种的问题和解决方法
- 前段时间做项目中,遇到的问题以及解决办法的总结(一)
- 关于TSP项目中遇到的一些问题,及解决方法
- 将项目导入AS遇到的问题及解决方法集锦
- 项目开发遇到的问题及其解决.总结
- 回顾总结64位CentOs下安装QT遇到的问题和解决方法
- 【总结】关于自己装Ubuntu以来遇到的所有问题及其解决方法
- [一般问题] android导入项目中遇到的一些问题及解决方法
- Xfire集成到web 项目中遇到的问题 及解决方法
- QT项目升级(QT4.6.3到QT5.2)时,遇到的问题和解决方法
- 使用VIM开发软件项目 - (16) vim编译中遇到的问题及解决方法
- 将VC++6.0项目转换为VS2010项目时遇到的问题与解决方法
- 用Spring Boot 构建项目中遇到问题及解决方法
- javaweb 项目部署时可能遇到的问题及解决方法1
- 【项目练习】遇到的问题和解决方法