Обновление LINQ to SQL, но у меня есть запрос от соединения? Не удается обновить с помощью запроса, который использует соединение? - PullRequest
2 голосов
/ 20 декабря 2010

У меня есть запрос, который возвращает IQueryable, мой запрос состоит из соединения.конечный пользователь должен иметь возможность обновлять определенные поля.Помните, что поля не взяты из 1 таблицы, а являются результатом 2 соединений.

Следовательно, как я могу использовать данные, которые я возвратил из моего запроса, изменить их и обновить обратно в базу данных?

Нужно ли мне делать еще 2 запроса на выборку, которые сразу же возвращали бы LINQ2SQL CLASS, чтобы я мог затем просто изменить значения в классе и затем обновить базу данных?

Я немного запутался в лучшем случаеобойти эту проблему.

Ответы [ 2 ]

4 голосов
/ 20 декабря 2010

Если вы хотите изменить некоторые данные, вам нужно работать с классами, сгенерированными для вас LINQ to SQL. Только так LINQ to SQL знает, что было изменено (отслеживание изменений) и как обновить соответствующую запись в базе данных. Другими словами, изменение анонимного или пользовательского объекта не будет замечено. Однако соединение не имеет к этому никакого отношения.

0 голосов
/ 20 декабря 2010

Если есть какой-то способ передать сгруппированным запросом исходные объекты LINQ, объекты могут быть обновлены там, и изменения сохранятся в базе данных. В противном случае вы не сможете сохранить сгруппированные результаты обратно в БД, и вам потребуется запросить объекты, которые вы хотите обновить, как вы упомянули.

НТН.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...