質問

私は、MySQLとPostgreSQLでSVNのトランクからDBLinq-0.18とDBLinqをテストしています。私は非常に単純なクエリを使用していますが、両方のデータベースにDBLinqは、WHERE句を生成していません。私はDBLinqが送信される要求を正確に確認するためのPostgreSQL上の文のロギングをオンにすることで、これを確認しています。

私の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;

クエリは、[OK]を動作しますが、DBLinqによって生成されたSQLの形式は次のとおりです。

select customerusername, customerpassword .... from public.customers

DBLinqは、LINQクエリを実行する前に、ダウンテーブル全体を引っ張っなければならないことを意味Where句はありませんがあります。

誰もがDBLinqの経験を持っていたし、私が間違っていることができるものを知っていますか?

役に立ちましたか?

解決

私は問題を発見し、それがDBLinqとは何の関係もないのです。

私は(それは私が知らないことを理由ん)System.Data.Linq名前空間を複製Microsoft.Scripting.Coreと呼ばれるアセンブリがあることがIronRubyのからと内いくつかのものをテストしていました。

Microsoft.Scripting.Coreアセンブリを参照して私のテストDBLinqアプリは、コンパイルして実行する罰金が、where句はSQLに欠けていますでしょう。アセンブリ参照を削除すると、句が正しく生成されている場合に生じます。

他のヒント

私は、LINQのツーSQLの機能の多くが実装され、ソースコードを歩くことは成熟度の低いレベルを示していない...方法の多くは実装されていません...生産コードのためのDBLinqを使用しないようにしたいですまたは「終端されていない」としてマークされました。

...あなたは警告してきた!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top