MySQL と Postgresql を使用して、SVN トランクから DBLinq-0.18 と DBLinq をテストしています。私は非常に単純なクエリのみを使用していますが、両方のデータベースで DBLinq が Where 句を生成していません。Postgresql でステートメント ログをオンにして、DBLinq が送信している要求を正確に確認することで、これを確認しました。
私のLinqクエリは次のとおりです。
MyDB db = new MyDB(new NpgsqlConnection("Database=database;Host=localhost;User Id=postgres;Password=password"));
var customers = from customer in db.Customers
where customer.CustomerUserName == "test"
select customer;
クエリは問題なく動作しますが、DBLinq によって生成される SQL は次の形式です。
select customerusername, customerpassword .... from public.customers
Linq クエリを実行する前に DBLinq がテーブル全体を取得する必要があることを意味する Where 句はありません。
DBLinq の経験があり、私が間違っている可能性があることを知っている人はいますか?