Может ли WPF обрабатывать Guids из LINQ to SQL? - PullRequest
0 голосов
/ 14 ноября 2010

Я наткнулся на странную проблему.В моем окне WPF (.NET 4) у меня есть простой комбинированный список (DisplayMemberPath = "Name" SelectedValuePath = "Id").Когда я загружаю окно, я устанавливаю свойство ItemSource в выпадающем списке в context.Currencies.ToList (), используя LINQ to SQL.Таблица валют в SQL просто [Id] [uniqueidentifier] NOT NULL ПЕРВИЧНЫЙ КЛЮЧ, [Name] char NOT NULL .В .NET это переводится как Id = System.Guid, Name = System.String .

. У меня проблема в том, что вызов combobox.ItemsSource = context.Currencies.ToList();генерирует исключение FormatException (Guid должен содержать 32 цифры с 4 штрихами (ххххххх-хххх-хххх-хххх-ххххххххххх)).

Что я не могу понять, почему эта ошибка выдается?

Если я оставлю LINQ to SQL вне рисунка, определим класс «test» - публичный класс Test {public Guid Id;публичная строка Name;}, установите comobox.ItemsSource в List<Test>, который содержит некоторые записи, тогда все работает.

Если я сделаю это:

combobox.ItemsSource = context.Currencies.Select(c => new { c.Id.ToString(), c.Name }).ToList()

, тогда все будет работать.

Я также пытался заранее установить для текущего потока «Культура и культура» значение «en-US» (на случай, если это проблема культуры, моя культура по умолчанию - «et-EE»), но это тоже не помогло.

Я посмотрел на сгенерированные классы LINQ to SQL от дизайнера, но не смог найти какие-либо свойства, которые могли бы помочь с этой ошибкой.

Я что-то здесь упустил или этодействительно ошибка в .NET Framework? ´

PS!Таблица Валюта содержит действительные записи (действительные направляющие).

1 Ответ

0 голосов
/ 16 ноября 2010

Как указал Томас, у меня была привязка к SelectedValue, и оказалось, что привязка также содержала FallbackValue = 1. После удаления свойства fallback все работает.Собственность была прокручена из поля зрения, поэтому я действительно скучал по ней.

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