+1 Иногда ты забываешь, что очки у тебя на носу, и продолжаешь их искать! «Custom DTO projected» - это то, что мне нужно было реализовать.
ался связать объект Entity Framework с DataGridView, но я все время захожу в тупик, и я не могу найти свой ответ где-нибудь.
Я могу связать всю таблицу (сущность) с сеткой, и это позволит мне вносить изменения и сохранять эти изменения обратно в БД следующим образом:
WS_Model.WS_Entities context;
private void simpleButton1_Click(object sender, EventArgs e)
{
context = new WS_Entities();
var query = from c in context.Users select c;
var users = query.ToList();
gridControl1.DataSource = users;
}
private void simpleButton2_Click(object sender, EventArgs e)
{
context.SaveChanges();
}
но я не хочу видеть все столбцы таблицы в моей БД в моем datagridview, поэтому я попытался сделать это таким образом ...
WS_Entities context = new WS_Entities();
private void simpleButton1_Click(object sender, EventArgs e)
{
var query = from c in context.Users
where c.UserName == "James"
select new { c.UserName, c.Password, c.Description };
var results = query.ToList();
gridControl1.DataSource = results;
}
private void simpleButton2_Click(object sender, EventArgs e)
{
context.SaveChanges();
}
но теперь я не могу редактировать любые данные в моем DataGridView.
Я не вижу здесь дрова для деревьев - пожалуйста, кто-нибудь не возражает, если мы покажем, что мы ошибаемся, или расскажу, каковы лучшие методы связывания EF с Winforms, так как у меня истощает мозги.
Я вижу, что это связано с разделом:
select new { c.UserName, c.Password, c.Description }
Но я не знаю почему.