別の DataContext から取得したレコードで 1 つの LinqDataSource を更新したいと考えています。問題は、LinqDataSource の DataContext が公開されていないように見えるため、新しいオブジェクトを DataSource のコンテキストにアタッチするためにアクセスできないことです。
これを行う通常の方法は何ですか?または、LinqDataSource を廃棄する必要があります
別の DataContext から取得したレコードで 1 つの LinqDataSource を更新したいと考えています。問題は、LinqDataSource の DataContext が公開されていないように見えるため、新しいオブジェクトを DataSource のコンテキストにアタッチするためにアクセスできないことです。
これを行う通常の方法は何ですか?または、LinqDataSource を廃棄する必要があります
その正当な理由-異なる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
}