0

フィールドを最後に入力した値に事前設定する必要があります。値を静的に保存しているSave()ので、次に新しい入力フォームが作成されたときに、フィールドをその値に設定したいと思います。

最後のステップを取得できません...エンティティが既に接続されているというエンティティエラーが発生します。

フィールドの値を設定するにはどうすればよいですか?

4

1 に答える 1

1

データテーブルのCreatedイベントでデフォルト値を設定する必要があります。Changedイベントの最後の値をキャプチャします-これにより、現在のユーザーがフィールドに対して行ったすべての変更がキャプチャされます。これは、デフォルトの価格をユーザーが入力した最後の価格に設定する「ウィジェット」と呼ばれるエンティティを使用した例です。

public partial class Widget
{
    private static decimal LastWidgetPrice;

    partial void Widget_Created()
    {
        Price = LastWidgetPrice;
    }

    partial void Price_Changed()
    {
        LastWidgetPrice = Price;
    }
}

これらのイベントはサーバーで発生し、Createdイベントはクライアントで発生するため、InsertingまたはUpdateingイベントの値をキャプチャできないことに注意してください。Changedイベントはクライアントコードで発生するため、そのイベントを使用して、最後に入力された値をキャプチャできます。

CreatedイベントとChangedイベントは、エンティティデザイナ(つまり、テーブルデザイナ)の[書き込みコード]ドロップダウンを使用して作成できます。

于 2011-09-11T06:32:17.467 に答える