说说在MVC开发中,遇到的错误及解决方法(本文章是我在实际开发中总结出来的,希望对您有帮助)

简介:

前提:数据底层,使用的是MVC架构,对于数据表中的状态及相关字段,采用了枚举型进行对应

1 序列中不包含任何元素 
  解决:将Single()改为DefaultOrSingle()

2 序列包含一个以上的元素 
  解决:很多情况都是原始数据的问题

3 不能在已使用的实体上添加新实体 
4 Duplicate key is already , 
  3,4的解决为:用  base._db.ExecuteCommand()进行SQL语句的重写,

不要用LINQ自带的insert,就不会出现错误了

5  未将对象引用设置到对象的实例。 值不能为空。参数名: source。 
   解决:  this.iProduct_ProductFilesRepository.Insert(_entity.Product_ProductFile.Cast<Entity.IDataEntity>().ToList());,当遇到将list实体类型换为接口list规范时,应该用.Cast<接口类型>().ToList()

6 查询参数不能为“System.Object”类型。 
解决:这是因为在LINQ的ExecuteCommand不理解空值,当我们传递的参数为 null 时,就会出现这个问题,解决方法是,在为实体加string.empty这个空值属性

7  Incorrect syntax near '@p0'. 
解决:查看我们的SQL代码,被编译成了什么,可能是多个括号之类的。如:delete from users where (userid={0},这很明显是不对的,哈哈

8 不支持SQL的转化 
   解决1,看看是否用了枚举类型,如果用了,应该先把IQueryable进行ToList,得到真正的数据后才能进行判断 
   解决2,请看你的原始数据,很有可以是数据问题 
   解决3,请看程序代码的关联表查询,很可能是它没有找出数据的问题

9  未将对象引用设置到对象的实例。 
解决:查看数据库向数据实体赋值时,枚举类型的字段是否为null了,如果为null,就会出错

10    查询包含对不同数据上下文上所定义项的引用。 
解决:查看底层工厂建立是否返回datacontext有问题,是否为空了。

11    枚举在LINQ中引发的异常:不支持SQL转换 
    当枚举使用字符名称,没有数据,然它的数值存储在数据表中时,我们在返回数据时,必须在ToList()才行,否则就会出现这种问题 
    例如: 
     /// <summary> 
     /// 以下是一个积分类型的枚举,一种类型对应数据表中同样类型的一个数值 
     /// </summary> 
   public enum PrestigeTypeCode 
    { 
           IAsk_Question, 
            IAsk_Answer, 
  }

  //表据表如下: 
ID    描述        数值    枚举名称 
1   提问           1    IAsk_Question 
2   回答           1    IAsk_Answer

结论:当我们通过枚举去从数据库(SQLSERVer里)取数值时,必须要把结果集ToList()才行,如代码: 
int value = new PrestigeTypesRepository().GetPrestigeTypes().ToList().Where(item => item.PrestigeTypeCode == prestigeTypeCode).Single().Amount; 
如果,枚举的值,在枚举元素里读上,就不用去tolist()了

12 不能将 Null 值赋给类型为 System.Int32 (不可为 null 的值类型)的成员 
解决:应该是数据的问题,Int类型的SQL表中出来了NULL值,或者是由于枚举类型转换失败的原因

本文转自博客园张占岭(仓储大叔)的博客,原文链接:说说在MVC开发中,遇到的错误及解决方法(本文章是我在实际开发中总结出来的,希望对您有帮助),如需转载请自行联系原博主。

目录
相关文章
|
2月前
|
前端开发 数据库 Python
Python Web 开发: 解释 Django 框架的 MVC 架构是什么?
Python Web 开发: 解释 Django 框架的 MVC 架构是什么?
|
4月前
|
SQL 前端开发 Java
JSP毕业设计选题系统统myeclipse开发sql数据库BS模式java编程mvc结构
JSP 毕业设计选题系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
24 0
|
6天前
|
设计模式 存储 前端开发
Java Web开发中MVC设计模式的实现与解析
Java Web开发中MVC设计模式的实现与解析
|
1月前
|
JSON 前端开发 Java
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!
|
1月前
|
JSON 前端开发 Java
Spring MVC响应结合RESTful风格开发,打造具有强大功能和良好体验的Web应用!
Spring MVC响应结合RESTful风格开发,打造具有强大功能和良好体验的Web应用!
|
1月前
|
前端开发 JavaScript Java
MVC|JAVA|SSM框架计算机硬件评测交流平台的开发和实现
MVC|JAVA|SSM框架计算机硬件评测交流平台的开发和实现
|
1月前
|
设计模式 前端开发 数据库
IOS开发基础知识:什么是 MVC 架构?它在 iOS 中的应用是什么样的?
IOS开发基础知识:什么是 MVC 架构?它在 iOS 中的应用是什么样的?
21 1
|
1月前
|
存储 前端开发 Java
Web开发:解释一下MVC架构。
Web开发:解释一下MVC架构。
41 0
|
2月前
|
前端开发 JavaScript Java
MVC|JAVA|SSM框架计算机硬件评测交流平台的开发和实现
MVC|JAVA|SSM框架计算机硬件评测交流平台的开发和实现
MVC|JAVA|SSM框架计算机硬件评测交流平台的开发和实现
|
2月前
|
设计模式 前端开发 Java
Spring Boot之Spring MVC的工作原理 以及使用eclipse开发Spring MVC的Web应用实战(附源码)
Spring Boot之Spring MVC的工作原理 以及使用eclipse开发Spring MVC的Web应用实战(附源码)
35 0

热门文章

最新文章

相关产品

  • 云迁移中心