日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

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

發布時間:2025/7/14 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 说说在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值,或者是由于枚舉類型轉換失敗的原因

轉載于:https://www.cnblogs.com/lori/archive/2011/07/18/2109817.html

總結

以上是生活随笔為你收集整理的说说在MVC开发中,遇到的错误及解决方法(本文章是我在实际开发中总结出来的,希望对您有帮助)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。