日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

mysql eager mode_MySQL Connector Net 6.6.5 Entity Framework 显式预加载 Eager Load Bug

發布時間:2024/9/19 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql eager mode_MySQL Connector Net 6.6.5 Entity Framework 显式预加载 Eager Load Bug 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在將原有系統從MSSQL遷移到MySQL時,遇到莫名其妙的問題,經過排除大法反復試驗,鎖定問題出自MySQL官方出品的Entity組件。又經過網上搜索,發現類似問題存在由來已久?http://bugs.mysql.com/bug.php?id=46142,至今也沒徹底解決。

bug報告地址:http://bugs.mysql.com/bug.php?id=68886

環境:Entity Framework 4.3.1,數據庫 MySQL 5.6.10, .NET 4.0

定義下面的類:

public classEmployee

{publicEmployee()

{

Contracts= new List();

LongLeaves= new List();

EmployeeSettlementSettings= new List();

}

[Key]public string BadgeNo { get; set; }public string Name { get; set; }public List Contracts { get; set; }public List LongLeaves { get; set; }public List EmployeeSettlementSettings { get; set; }

}

如果同時顯式加載(Eager Load)Contracts,LongLeaves和EmployeeSettlementSettings:

db.Employees.AsNoTracking()

.Include(i=>i.Contracts)

.Include(i=>i.LongLeaves)

.Include(i=>i.EmployeeSettlementSettings)

.ToList();

報下面的錯誤:

"String was not recognized as a valid Boolean."

如果僅僅預加載其中任意2項,則一切正常。

我又試驗了 MySQL Connector Net 6.7 Alpha版本,也存在相同的問題。

目前的解決辦法,一是改變獲取數據的方式(當然這只是權宜之計);二是改用商業組件:DevArt的dotConnect Professional,據說性能不錯,而且沒有這個bug,詳見這里:http://stackoverflow.com/questions/7712620/entity-framework-many-to-many-and-eager-loading

總結

以上是生活随笔為你收集整理的mysql eager mode_MySQL Connector Net 6.6.5 Entity Framework 显式预加载 Eager Load Bug的全部內容,希望文章能夠幫你解決所遇到的問題。

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