確定首先,嗨,每一個這是我的第一篇文章。LINQ從SQL Server CE中選擇:指定的演員表無效
現在,我已經創建了一個SQLCE數據庫,創建了數據上下文和所有映射,併成功地用數據加載填充了數據庫。到目前爲止很好,現在如果我想檢索數據,我會遇到問題。
代碼獲取數據
var codes = (from c in App.BonusDatabase.tbRawData
select c).ToList();
運行,我獲得指定的轉換無效。我猜測它有一個不喜歡的價值,我怎麼才能找到它的價值?
at System.Data.SqlServerCe.SqlCeDataReader.GetFloat(Int32 ordinal)
at Read_RAW(ObjectMaterializer`1)
at System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at BAT.Bonus.BonusRun(Int32 Week) in Bonus.cs:line 36
at BAT.Bonus.BonusRun() in Bonus.cs:line 25
at BAT.winMain.worker_DoWork(Object sender, DoWorkEventArgs e) in winMain.xaml.cs:line 91
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
編輯:好一個騙子我複製的SQL創建表的查詢到另一個程序,並得到它算多少次,我有整型,浮點等不出所料計數。然後我用LINQ映射重複了這一點,它有一個匹配的計數,所以我不認爲映射是錯誤的。
編輯2: 我只是修改了上面的代碼只選擇1場,而不是一切都像這樣
var codes = (from c in App.BonusDatabase.tbRawData
select c.CODE).ToList();
這工作正常,但如果我然後換另一場
var codes = (from c in App.BonusDatabase.tbRawData
select c.PPH).ToList();
我得到錯誤。那麼這就是那個玩的?如果是這樣,問題可能是SQL數據庫和我的映射中聲明爲float的問題
hhhhhhmmmmmm這將是惱人的尋找,我看着有超過100列的表。 – Gazlar