2011-02-02 12 views
0

を:これは本当のデータベースクエリを演出します 回避LINQの実際のデータベース操作

をLINQ to SQLのを使用して
public interface IProductsRepository 
{ 
    IQueryable<Product> Products { get; } 
} 

...?

もしそうなら、呼び出し元が複雑で遅いSQL文を実行するのを避けるにはどうしたらいいですか?

答えて

3

LINQ to SQL(および他のLINQプロバイダ)は、無効なSQL文を許可しません。可能であれば、コンパイル時エラーによりコードがコンパイルされなくなります。それが不可能な場合は、実行時にエラーがスローされます。

+0

こんにちは。私は複雑で遅い陳述を意味する。 – Eduardo

+0

@Eduardo - あなたは本当にできませんが、本当に複雑で遅いSQL文を書くのを止めるものはありません。 –

+0

@Eduardo:Ericが述べたように、LINQはSQLのように複雑で遅いSQL文を許可します。 LINQの欠点の1つは、クエリが事前にわかっていないため、DBの最適化ができないことです。一般的な最適化は自動的に行われます.LINQはクエリを最適化し、SQL Serverはクエリを最適化します。 –

関連する問題