0

現在、LINQを使用する便利なクラスを作成しています。

元:

    public static bool Remove(Customer c,KezberPMDBDataContext context)
    {
        if (c != null && context != null)
        {
            KezberPMDBDataContext db = context;
            db.Customers.DeleteOnSubmit(c);
            db.SubmitChanges();
            return true;
        }

        return false;
    }

私はこのような他の機能を持っています:

public static Customer Get(string description,
            KezberPMDBDataContext context = null)
        {
            KezberPMDBDataContext db = GetContext(context);
            return (from p in db.Customers
                    where p.CustomerDescription == description
                    select p).FirstOrDefault();
        }

問題は、顧客を削除するようなタスクを実行することです。コンテキストが必要です。

常にコンテキストを渡す必要なしにこれを行う方法はありますか?

4

1 に答える 1

1

はい、これらの操作ごとに新しいコンテキストを作成します。

データコンテキストの作成に費用はかかりません。新しい接続ごとに新しい接続を作成するオーバーヘッドが発生しないように、接続プールに依存します。送信する操作をバックアップするやむを得ない理由がない限り、コンテキストを渡さない方がよいでしょう。

于 2013-01-15T16:45:19.297 に答える