Forum: IronRuby Linq syntax?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ivan P. (Guest)
on 2009-04-07 22:15
(Received via mailing list)
Hi
What would be the syntax to call Linq methods?

for example:
I have an IQueryable<Users> and I want to get the equivalent out of

from user in MyRepository.Users
where user.name == "somename"

That of course is only one example, I want to do a lot more :)

My best guess is that I would have to do something like this only it
doesn't
work

System::Linq::Queryable.where(MyRepository.Users, lambda { |user|
user.name== "somename" })

yields wrong number of arguments (2 for 2147483647)

So what is the correct way?
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Tomas M. (Guest)
on 2009-04-07 23:02
(Received via mailing list)
Method of Queryable take expression trees. Ruby lambdas are not
convertible to expression trees.
You need to build the expression tree yourself.

Tomas

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Ivan Porto
Carrero
Sent: Tuesday, April 07, 2009 11:06 AM
To: ironruby-core
Subject: [Ironruby-core] Linq syntax?

Hi

What would be the syntax to call Linq methods?

for example:
I have an IQueryable<Users> and I want to get the equivalent out of

from user in MyRepository.Users
where user.name<http://user.name> == "somename"

That of course is only one example, I want to do a lot more :)

My best guess is that I would have to do something like this only it
doesn't work

System::Linq::Queryable.where(MyRepository.Users, lambda { |user|
user.name<http://user.name> == "somename" })

yields wrong number of arguments (2 for 2147483647)

So what is the correct way?
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Stefan D. (Guest)
on 2009-04-08 00:03
(Received via mailing list)
I was just going to post about this. Currently it is not possible to
call
the extension methods in System::Linq::Enumerable and
System::Linq::Queryable.

>>> require 'System.Core, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089'
=> true
>>> include System::Linq
=> Object
>>> Queryable
=> System::Linq::Queryable
>>> Queryable.where
:0:in `CallSite.Target': wrong number of arguments (1 for 2147483647)
(ArgumentError)
...

2009/4/7 Tomas M. <removed_email_address@domain.invalid>
This topic is locked and can not be replied to.