There does not appear to be support for Any() from other tables in a where
clause. For example:
from i in context.Table1
where !context.Table2.Any()
select i;
I would expect this to be converted to "SELECT ... FROM Table1 WHERE NOT EXISTS
(SELECT ... FROM Table2)", but it instead produces an exception similar to the
following:
Unhandled Exception: System.InvalidCastException: Can't cast
System.Data.Linq.Table`1[Cdh.WatchlistBot.Tinker.Model.Whitelist] into any
valid DbType.
at Npgsql.NpgsqlParameter.set_Value (System.Object value) [0x000ab] in /home/chris/src/mono-2.6.7/mcs/class/Npgsql/Npgsql/NpgsqlParameter.cs:537
at DbLinq.Data.Linq.Sugar.SelectQuery.GetCommand () [0x00105] in /home/chris/src/mono-2.6.7/mcs/class/System.Data.Linq/src/DbLinq/Data/Linq/Sugar/SelectQuery.cs:107
at DbLinq.Data.Linq.Sugar.Implementation.QueryRunner.Select[<>__AnonType0`3] (DbLinq.Data.Linq.Sugar.SelectQuery selectQuery) [0x00035] in /home/chris/src/mono-2.6.7/mcs/class/System.Data.Linq/src/DbLinq/Data/Linq/Sugar/Implementation/QueryRunner.cs:65
at DbLinq.Data.Linq.Implementation.QueryProvider`1[<>__AnonType0`3[System.String,System.String,System.String]].GetEnumerator () [0x00008] in /home/chris/src/mono-2.6.7/mcs/class/System.Data.Linq/src/DbLinq/Data/Linq/Implementation/QueryProvider.cs:216
at Cdh.WatchlistBot.Tinker.MainClass.Main (System.String[] args) [0x002d4] in /home/chris/dev/Cdh.WatchlistBot/Cdh.WatchlistBot.Tinker/Main.cs:69
What version of the product are you using? On what operating system?
0.20.1 on Debian Lenny, using tarball-compiled Mono 2.6.7.
Original issue reported on code.google.com by cdho...@gmail.com on 13 Aug 2010 at 6:18
Original issue reported on code.google.com by
cdho...@gmail.com
on 13 Aug 2010 at 6:18