Можно ли разрешить linq to sql автоматически отправлять мои новые записи обратно в базу данных? - PullRequest
0 голосов
/ 23 июля 2010

Я использую linq для sql и возвращаю запрашиваемый результат из linq в sql:

var qry = from p in table select p;

Затем я использую это для привязки к xtragrid:

GridControl.DataSource = qry;

ЗатемЕсли я редактирую записи в xtraGrid, мне просто нужно позвонить dataContext.submitChanges(), чтобы отправить изменения обратно в базу данных.

Мой вопрос:

Можно ли просто добавить новые записи вРезультат, и после этого мне нужно только позвонить dataContext.submitChanges(), тогда linq может автоматически создавать новые записи в базе данных?

Возможно ли это?Может кто-нибудь указать мне правильное направление?Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 23 июля 2010

Снимок ответа будет нет. Вам необходимо вызвать метод Add для свойства таблицы в вашем контексте.

Примерно так:

var qry = from p in myDataContext.Table select p;

GridControl.DataSource = qry;

myDataContext.Table.Add(newRecord); // This is how to add new recrod

dataContext.submitChanges();

Подробнее здесь: http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx

0 голосов
/ 15 сентября 2010

Вы знаете, что если вы используете LinqDataSource вместо запроса к свойству DataSource вашей Grid, SubmitChanges, Add, Delete & friends будут автоматически вызываться для вас, верно?Если вам нужно отобразить подмножество таблицы, вы все равно можете переопределить событие выбора LinqDataSource, чтобы передать ему свой собственный запрос.

...