题
我测试出的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的功能没有实现,并通过源代码行走显示成熟的低水平......很多方法都没有实现或标记为“未终止”。
...你已经被警告!
不隶属于 StackOverflow