Обновление LinqDataSource из отдельного DataContext - PullRequest
1 голос
/ 29 мая 2009

Я хочу обновить один LinqDataSource с записью, полученной из другого DataContext. Проблема в том, что DataContext из LinqDataSource, похоже, не обнародован, поэтому я не могу получить к нему доступ, чтобы присоединить новый объект к контексту DataSource.

Каков нормальный способ сделать это? Или я должен просто отказаться от LinqDataSource

1 Ответ

1 голос
/ 02 февраля 2010

Хорошая причина для этого - вы не можете делиться объектами между разными DataContexts.

Если вы используете событие OnContextCreating LinqDataSource, вы можете присоединить правильный источник к источнику данных [т.е. к тому, из которого извлекается вторая сущность], так что они оба из одного DataContext:

ASPX:

<asp:LinqDataSource .... OnContextCreating="GetDataContext" ... />

C #:

protected void GetDataContext(object sender, LinqDataSourceContextEventArgs e)
{
    e.ObjectInstance = MyDataContext.Current; // assuming that Current is the ambient instance
}
...