I have a website I developed in VS 2008 targeting .net 3.5. It has worked well. I recently upgraded to VS 2010 and needed to make a few changes to the site. However, I'm receiving compile errors (haven't made any changes to the code yet--was just launching the site to make sure it worked ok). I get "Contains" is not a member of system.array. Everything I've read states that the contains method was added in .net 3.5, which I know to be correct because it was working in VS 2008. I've been targeting .net 3.5 in VS 2010, but it still isn't working. I also used linq quite a bit with linqkit to do dynamic queries and all of my linq queries were saying my queries weren't queryable (I don't have the actual error in front of me). Anyway, to fix that one, I had to import system.linq (I previously had system.data.linq and it was working fine). To reiterate, I haven't targeted my site to .net 4 in VS 2010, I've left it targeting .net 3.5.
I tried converting my arrays to arraylists since arraylists were still pulling up with a .contains method, but then it broke my linqkit queries when I ran it on the site.
Here is my linqkit query:
Dim str() As String = archlist.ToArray(GetType(String))
Dim str3 As New ArrayList
str3 = ArrayList.Adapter(str)
predicate = predicate.And(Function(l As CompatTesting) str3.Contains(l.application.cpuarchitecture))
Before, I didn't have the arraylist conversion, I just had str.contains and it worked great to generate a sql "in" statement. Now after using the code above, the site launches, but when I actually run the code, I get Method 'Boolean Contains(System.Object)' has no supported translation to SQL. I also tried upgrading my linqkit dll to the latest version but it didn't help.
My questions are, since I'm targeting the same .net 3.5 framework in 2010, why is it not allowing me to use array.contains anymore? Maybe if I can address that issue, it will fix my linqkit issue where it says "contains" has no supported translation to sql.
Any help would be appreciated. I don't want to revert back to vs 2008 just to fix my site...