Использование строки в запросе LINQ
В настоящее время я занимаюсь разработкой проекта WPF на C#. Проект берет строку (newMemoryRFID), которая определяется при инициализации страницы, и использует ее в запросе. Вот так
var query =
from c in MemoryData.Memory
where c.RFID == newMemoryRFID
select c;
this.DataContext = query;
this.View = ((CollectionView)(CollectionViewSource.GetDefaultView(this.DataContext)));
Это создает пустой DataContext
Однако, когда я использую тестовые данные, которые совпадают с тем, что newMemoryRFID будет запросом, т.е.
var query =
from c in MemoryData.Memory
where c.RFID == "0F02D76B05"
select c;
this.DataContext = query;
this.View = ((CollectionView)(CollectionViewSource.GetDefaultView(this.DataContext)));
Запрос получает правильную запись. Как вы можете сказать, я не лучший программист, поэтому чем проще ваш ответ, тем лучше. И большое спасибо заранее
2 ответа
Это время для использования вашего отладчика. Похоже, что newMemoryRFID не установлен в "0F02D76B05" во время создания запроса.
Если вы не можете вступить в это, по крайней мере, сделать
Debug.WriteLine(string.Format("newMemoryRFID = {0}", newMemoryRFID);
до линии
var query = ...
Попробуйте обрезать строку как в начале, так и в конце для возможного пробела, который может не соответствовать строке.