2009-05-29 65 views
1

我想更新一個LinqDataSource與從不同的DataContext檢索到的記錄。問題是LinqDataSource的DataContext似乎沒有公開,所以我無法訪問它來將新對象附加到DataSource的上下文中。從單獨的DataContext更新LinqDataSource

這樣做的正常方法是什麼?或者我應該廢除LinqDataSource

回答

1

很好的理由 - 你不能在不同的DataContext上共享對象。

如果您使用的LinqDataSource的OnContextCreating事件時,可以正確的實例連接到數據源[即,其中第二實體從檢索]所以他們都來自同一個的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 
}