Использование строки в запросе LINQ - PullRequest
0 голосов
/ 15 апреля 2011

Я сейчас занимаюсь разработкой проекта 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 ]

3 голосов
/ 15 апреля 2011

Это время для использования вашего отладчика.Похоже, что newMemoryRFID не установлен в «0F02D76B05» во время создания запроса.

Если вы не можете войти в него, по крайней мере, выполните

Debug.WriteLine(string.Format("newMemoryRFID = {0}", newMemoryRFID); 

перед строкой

var query = ...
0 голосов
/ 15 апреля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...