#c# #winforms #linq-to-sql #combobox #anonymous-types
#c# #winforms #linq-to-sql #combobox #анонимные типы
Вопрос:
В моем приложении .net 3.5 win-form я связываю поле со списком с этими инструкциями.
using (var db = new NewspaperDataContext())
{
var list = from p in db.Customers
orderby p.Name ascending
select new
{
p.Id,
p.Name
};
cboCustReport.DataSource= list;
cboCustReport.DisplayMember = "Name";
cboCustReport.ValueMember = "Id";
cboCustReport.SelectedIndex = -1;
}
Но при извлечении выделенного текста из поля со списком я «»(пустой), если я использую свойство SelectedItem, то у меня есть {Id= 3 , Name = Amit Ranjan } . Когда я добавил часы и попытался построить выражение, это дало мне что-то вроде этого:
((<>f__AnonymousType2<int,string>)(cboCustReport.SelectedItem)).Name;
Пожалуйста, помогите мне, что я должен использовать, чтобы получить значение имени свойства.
Ответ №1:
Попробуйте быстро выполнить запрос, вызвав .ToList()
в конце:
var list = (from p in db.Customers
orderby p.Name ascending
select new
{
p.Id,
p.Name
}).ToList();