2010-08-26 4 views
1

у меня есть 3 таблицы в моей базе данных, и я создал модель сущностей из базы данных, и это выглядит следующим образом: alt textADO.NET Entity - Помощь нужна

, что им пытаются сделать, чтобы связать все 3 таблицы в DataGridView и im, используя запрос, подобный этому

var result = from t in db.Transactions 
        from c in db.Categories 
        from a in db.Accounts 
        where t.FkCategoryID == c.CategoryID && t.FkAccountID == a.AccountID 
        select new { t.Description, t.BankReference, t.TransactionDate, c.CategoryName, a.AccountName, a.AccountNr }; 

это хорошо работает. Но мне нужно, чтобы иметь возможность обновлять таблицу транзакций с помощью связывания панели навигатора

alt text

им не в состоянии сделать это с помощью Linq запроса и привязки его к GridView.

Есть ли способ сделать это, используя структуру сущностей? Я имею в виду, когда я связать только одну таблицу связывания источника внутримышечно в состоянии использовать эту панель инструментов для удаления обновления и добавить строку, но я должен показать все таблицы и только иметь возможность редактировать таблицу транзакций

Заранее спасибо

ответ

0

Одно из предложений заключается в том, чтобы создать представление базы данных для вашего запроса и сопоставить с ним, а не с объединенными таблицами.

+0

Я попробовал это, дело в том, что созданный мной вид не является обновляемым. есть ли способ сделать его обновляемым в моем случае? – ilkin

+0

Вы должны иметь возможность обновлять представления в SQL Server - какую БД вы используете? Тем не менее, я никогда не пытался отображать представление для сущностей. –

+0

Я использую mssql – ilkin

0

I не думайте, что это возможно, потому что вы выбираете анонимный тип, а не сущность. Поэтому записи в сетке не связаны с вашей моделью сущности. Вы должны обрабатывать удаление и обновление записей самостоятельно.