Хорошо, во-первых, Привет всем, это мой первый пост.
Прямо сейчас к делу, я создал базу данных 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, float и т. Д. Количество соответствует ожидаемому. Затем я повторил это с отображением 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();
Я получаю ошибку. Так это тот, который играет? Если это так, в чем может быть проблема, поскольку она объявлена как float как в базе данных SQL, так и в моих сопоставлениях