Я хотел бы заранее извиниться в случае, если мой вопрос был дан ответ раньше (также проблема, вероятно, довольно проста).Я довольно новичок в программировании, и есть большая вероятность, что я не смогу найти ответы в Google, так как я даже не понимаю, в чем проблема на самом деле.
Я пытаюсь связать представление данных с данными иззапрос linq для сущностей (используя Entity Framework).
Я использую этот код для достижения этой цели:
DatabaseModelContainer context = new DatabaseModelContainer();
private void FormDocumentUpdateWT_Load(object sender, EventArgs e)
{
context.Configuration.ProxyCreationEnabled = false;
context.DocumentDetailsSet.Load();
this.documentDetailsBindingSource.DataSource = (from x in context.DocumentDetailsSet.Local
where x.DocumentHeaderId == currentDocument.Id
select new
{
x.Inventory.Number,
x.Amount,
x.Containers.Name,
x.Separate,
x.Kanban
}).ToList();
dataGridViewItems.DataSource = documentDetailsBindingSource;
dataGridViewItems.Update();
dataGridViewItems.Refresh();
}
К сожалению, это не дает мне никаких результатов (datagridview ничего не показывает), даже если запрос возвращает данные.
Когда я изменяю код, как показано ниже, datagridview фактически обновляется, но (очевидно) у меня не отображаются конкретные свойства моего желания.
DatabaseModelContainer context = new DatabaseModelContainer();
private void FormDocumentUpdateWT_Load(object sender, EventArgs e)
{
context.Configuration.ProxyCreationEnabled = false;
context.DocumentDetailsSet.Load();
this.documentDetailsBindingSource.DataSource = (from x in context.DocumentDetailsSet.Local
where x.DocumentHeaderId == currentDocument.Id
select new {
x.Inventory, //this is changed
x.Amount,
x.Containers, // also changed
x.Separate,
x.Kanban
}).ToList();
dataGridViewItems.DataSource = documentDetailsBindingSource;
dataGridViewItems.Update();
dataGridViewItems.Refresh();
}
Может кто-нибудь объяснить мне, как это работает и как обойти это?Заранее спасибо!