最初にオフにしてください、これはすべて私の最初の投稿です。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が別のプログラムにテーブルクエリを作成してコピーし、それは私がint型を持っていた回数をカウントするようになった、フロートチートとして[OK]をクリックします。私はそれからLINQマッピングでこれを繰り返したところ、一致する数があるので、マッピングが間違っているとは思わない。
編集2:私は、私は別のフィールドに
var codes = (from c in App.BonusDatabase.tbRawData
select c.PPH).ToList();
を変更する場合、これは正常に動作しますが、そう
var codes = (from c in App.BonusDatabase.tbRawData
select c.CODE).ToList();
私はちょうど、むしろのようなすべてのものよりも、1つのフィールドを選択するために、上記のコードを修正しましたエラーを取得します。これはこれが演奏されるものですか?もしそうなら、SQLデータベースと私のマッピングの両方で浮動小数点として宣言されている問題があるかもしれません。
hhhhhhmmmmmmこれは、私が見ているテーブルがわずか100カラムを超えているのを見て迷惑になるでしょう。 – Gazlar