LinqDataSourceContextEventArgs.ObjectInstance プロパティ

定義

作成するデータ コンテキスト オブジェクトを取得または設定します。Gets or sets the data context object to create.

public:
 property System::Object ^ ObjectInstance { System::Object ^ get(); void set(System::Object ^ value); };
public object ObjectInstance { get; set; }
member this.ObjectInstance : obj with get, set
Public Property ObjectInstance As Object

プロパティ値

Object

ObjectInstance プロパティに設定したデータ コンテキスト オブジェクト。それ以外の場合は nullThe data context object that you have set to the ObjectInstance property; otherwise, null. 既定では、 nullです。The default is null.

次の例は、イベントのイベントハンドラーでパラメーターなしのコンストラクターを呼び出すことによって、データコンテキストオブジェクトを作成する方法を示して ContextCreating います。The following example shows how to create the data context object by calling a non-parameterless constructor in an event handler for the ContextCreating event. このコードは、カスタムオブジェクトをプロパティに割り当て ObjectInstance ます。The code assigns the custom object to the ObjectInstance property.

protected void LinqDataSource_ContextCreating(object sender, LinqDataSourceContextEventArgs e)
{
    e.ObjectInstance = new ExampleDataContext(ConfigurationManager.ConnectionStrings["ExampleConnectionString"].ConnectionString);
}
Protected Sub LinqDataSource_ContextCreating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceContextEventArgs)
    e.ObjectInstance = New ExampleDataContext(ConfigurationManager.ConnectionStrings("ExampleConnectionString").ConnectionString)
End Sub

注釈

既定では、 LinqDataSource コントロールは、プロパティで指定されたクラスのインスタンスを作成し ContextTypeName ます。By default, the LinqDataSource control creates an instance of the class specified in the ContextTypeName property. これは、そのクラスのパラメーターなしのコンストラクターを呼び出すことによって行われます。It does this by calling the parameterless constructor of that class.

イベントを処理し、作成した ContextCreating オブジェクトにプロパティを設定することによって、データ操作用のオブジェクトを手動で作成でき ObjectInstance ます。You can manually create the object for data operations by handling the ContextCreating event and setting the ObjectInstance property to an object you have created.

パラメーター化されていないコンストラクターを使用する場合、またはプロパティで指定したものとは異なるオブジェクトを作成する場合は、オブジェクトを手動で作成し ContextTypeName ます。You create the object manually if you want to use a non-parameterless constructor or if you want to create an object that is different from the one specified in the ContextTypeName property.

プロパティ ObjectInstance には、プロパティに指定された型のインスタンスが含まれていません ContextTypeName 。これは、そのインスタンスがイベントの後に作成されるためです ContextCreatingThe ObjectInstance property does not contain an instance of the type specified in the ContextTypeName property, because that instance is created after the ContextCreating event. プロパティは、 ObjectInstance イベント中にデータコンテキストオブジェクトを手動で作成した場合にのみ使用され ContextCreating ます。The ObjectInstance property is used only when you manually create the data context object during the ContextCreating event. データを更新、挿入、または削除する場合は、プロパティを ObjectInstance クラスから派生したオブジェクトに設定する必要があり DataContext ます。When you are updating, inserting, or deleting data, you must set the ObjectInstance property to an object that derives from the DataContext class.

適用対象