我测试出的DBLinq-0.18和从的DBLinq SVN树干MySQL和PostgreSQL。我只使用一个非常简单的查询,但两个数据库中的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

有没有WHERE子句,这意味着必须的DBLinq被向下拉动整个表运行LINQ查询之前。

有没有人有任何的DBLinq经验,知道我可能做错了吗?

有帮助吗?

解决方案

我发现这个问题,它是没有任何关系的DBLinq。

我已经出离IronRuby和中测试一些东西,有一个名为Microsoft.Scripting.Core一个组件,它复制了System.Data.Linq命名空间(为什么它,我不知道)。

通过对Microsoft.Scripting.Core组装我的测试应用程序的DBLinq将编译和运行正常,但会对SQL where子句中缺少的参考。去除所述组件的参考导致其中正确地产生子句。

其他提示

我会尽量避免使用对的DBLinq生产代码...许多的LINQ到SQL的功能没有实现,并通过源代码行走显示成熟的低水平......很多方法都没有实现或标记为“未终止”。

...你已经被警告!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top