Использование строки в запросе 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 = ...

Попробуйте обрезать строку как в начале, так и в конце для возможного пробела, который может не соответствовать строке.

Другие вопросы по тегам