我正在使用 MySQL 和 Postgresql 测试来自 SVN Trunk 的 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
没有 Where 子句,这意味着 DBLinq 必须在运行 Linq 查询之前将整个表拉下来。
有没有人对 DBLinq 有任何经验并且知道我可能做错了什么?