3

ID のみを必要とする select メソッドを備えた WCF サービスがあります。返す必要があるすべてのものを取得するには、いくつか (20 以上) の読み込みオプションを使用する必要があるため、これはかなり複雑なクエリになり、コンパイルすることをお勧めします。これまでに見つけた唯一の方法は、静的データ コンテキストを作成し、コンパイルされたクエリで使用するオプションを読み込むことです。そうしないと、コンパイルされたものとは異なるコンテキストを使用していると不平を言います。それで、私の質問はこれを行うべきですか?Web サービスで静的データ コンテキストを使用すると問題が発生しますか? このメソッドにのみ使用されます。他のすべてのメソッドは独自のものを作成します。将来、この決定にお金を払うことになるのではないかと心配しているので、何かヒントがあれば助かります! ありがとう!

    private static DataLoadOptions loadOptions = GetDataLoadOpt();

    private static readonly Func<ItemsDataContext, int, Data.Item> SelectItem =
        CompiledQuery.Compile((ItemsDataContext DataContext, int ItemId) =>
            DataContext.Items.Where(r => r.ItemID == ItemId).FirstOrDefault());

    private static DataLoadOptions GetDataLoadOpt()
    {
        var loadOpts = new System.Data.Linq.DataLoadOptions();
        loadOpts.LoadWith<Data.Item>(d => d.ItemProp);
        .
        .
        .
        return loadOpts;
    }
4

1 に答える 1