-3

これらの linq クエリは、両方の方法で記述できます。しかし、どちらの方法を選択するかは、本当にややこしい作業のようです。これらのコマンドのパフォーマンスの違い (ある場合) を説明してください。

 from table1Details in objDataContext.Table1s where table1Details.SomeId == 15
                                           select new {....};

from table1Details in objDataContect.GetTable<Table1>() where table1Details.SomeId==15
                                     select new {...};
4

3 に答える 3

3

これは、LINQ に関連する違いではありません。データ コンテキストはプロパティを提供してTable1sおり、内部的には を呼び出すだけGetTable<Table1>()です。これは、実質的にパフォーマンス コストがなく、機能上の違いがまったくない便利な方法です。

于 2013-10-04T15:05:58.370 に答える
1

DataContext.GetTable メソッド

このメソッドは、クエリのメイン エントリ ポイントです。厳密に型指定された DataContext が作成されると、新しく生成されたプロパティがこのメソッドへの呼び出しをカプセル化します。たとえば、Customersを返すプロパティが生成されますGetTable<Customer>

したがって、あなたの場合、違いはありません。それを使用して直接アクセスすると、あなたDataContextはプロパティを持っていますTable1objDataContext.Table1sobjDataContext.GetTable<Table1>()

于 2013-10-04T15:07:52.937 に答える