1

別の DataContext から取得したレコードで 1 つの LinqDataSource を更新したいと考えています。問題は、LinqDataSource の DataContext が公開されていないように見えるため、新しいオブジェクトを DataSource のコンテキストにアタッチするためにアクセスできないことです。

これを行う通常の方法は何ですか?または、LinqDataSource を廃棄する必要があります

4

1 に答える 1

1

その正当な理由-異なるDataContext間でオブジェクトを共有することはできません。

LinqDataSourceのOnContextCreatingイベントを使用する場合は、正しいインスタンスをデータソース(つまり、2番目のエンティティが取得されるインスタンス)にアタッチして、両方が同じ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
}
于 2010-02-02T09:50:14.803 に答える