我正在使用MySQL和Postgresql从SVN Trunk测试DBLinq-0.18和DBLinq。我只使用一个非常简单的查询,但在两个数据库DBLinq不生成一个Where子句。我通过打开Postgresql上的语句记录来确认这一点,以确认DBLinq发送的是什么请求。DBLinq没有生成where子句
我的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的经验,并知道我可能做错了什么?
很可能,问题在于如何监视提交的SQL,而不是实际生成的SQL。 – 2009-04-19 14:05:32
我对Postgresql非常熟悉,所以我使用该db来检查语句。我打开了它的调试日志记录,我100%确定DBLinq发送的查询是一个没有where子句的select语句。 – sipwiz 2009-04-19 14:37:39