Здравствуйте, использую Entity Framework. В моём wfa приложении есть DataGridView, которому я задаю такой DataSource:
productBindingSource.DataSource = context.Products.ToList();
metroGrid1.DataSource = productBindingSource;
Если задавать так, то всё работает (добавление, изменение), но тогда появляется проблема: в таблице есть поле menu_id и я хочу выводить не номер меню, а его название, но при такой выборке у меня это никак не получается.
Однако получается получить название меню, используя такой запрос:
var products = context.Products.Select(prd=> new
{
prd.id,
prd.name,
prd.price,
Menu = prd.Menu.name
});
productBindingSource.DataSource = products.ToList();
metroGrid1.DataSource = productBindingSource;
Но появляется другая проблема, у меня перестаёт работать добавление, изменение (ошибка в этой строчке):
productBindingSource.Add(frm.ProductInfo);
ProductInfo это свойство из 2-ой формы, которая возвращает объект типа Product:
public Product ProductInfo
{
get
{
return productBindingSource.Current as Product;
}
}
Текст ошибки:
Объекты, добавляемые к списку BindingSource, должны быть одного типа.
Ошибка понятна, но совершенно не понимаю как её решить. Заранее спасибо.