C# LINQ In Clause

In Clause in LINQ can seem a bit tricky when you first write one. These two Northwind Traders SQL examples of a LINQ In Clause includes using a list as the in clause, and using a query as the in clause.

//--------------------------------------------------------------------------------    
//1. In Clausing using a LIST
//--------------------------------------------------------------------------------
List<decimal> OrderList = new List<decimal>();    
OrderList.Add(10248);
OrderList.Add(10250);
var OrderListArr = OrderList.ToArray();

var CustOrders = from o in Orders
                 where OrderListArr.Contains(o.OrderID)
                 select o;
    
CustOrders.Dump();

//--------------------------------------------------------------------------------
//2. In Clause using a LINQ statement. Get Customer Orders from Brazil customers
//--------------------------------------------------------------------------------
var BrazilOrders = from o in Orders
                   where (from c in Customers
                         where c.Country.Contains("Brazil")
                         select c.CustomerID).Contains(o.CustomerID)
                   select o;
BrazilOrders.Dump();           

Screen Shot from LINQPad for the two queries above.

Phonegap Cordova installation windows

The information below was taking from a StackOverflow Post at this link.

Follow these steps

  1. Download and Install node.js from http://nodejs.org/
  2. Run the command npm install -g phonegap (in case of phonegap installation) or run the command npm install -g cordova (in case of Cordova installation).
  3. As the installation gets completed you can notice this:

    C:\Users\binaryuser\AppData\Roaming\npm\cordova -> C:\Users\binaryuser\AppData\Roaming\npm\node_modules\cordova\bin\cordova
    cordova@3.0.9 C:\Users\binaryuser\AppData\Roaming\npm\node_modules\cordova
    ├── ncallbacks@1.0.0
    ├── open@0.0.3
    ├── colors@0.6.2
    ├── semver@1.1.0
    ├── shelljs@0.1.2
    ├── follow-redirects@0.0.3 (underscore@1.5.2)
    ├── elementtree@0.1.3 (sax@0.3.5)
    ├── optimist@0.6.0 (wordwrap@0.0.2, minimist@0.0.2)
    ├── xcode@0.5.1 (node-uuid@1.3.3, pegjs@0.6.2)
    ├── glob@3.2.6 (inherits@2.0.1, minimatch@0.2.12)
    ├── plist@0.4.3 (xmlbuilder@0.4.2, xmldom@0.1.16)
    ├── tar@0.1.18 (inherits@2.0.1, block-stream@0.0.7, fstream@0.1.24)
    ├── prompt@0.2.7 (revalidator@0.1.5, pkginfo@0.3.0, read@1.0.5, utile@0.1.7, winston@0.6.2)
    ├── request@2.22.0 (json-stringify-safe@4.0.0, aws-sign@0.3.0, qs@0.6.5, oauth-sign@0.3.0, forever-agent@0.5.0, cookie-jar@0.3.0, tunnel-agent@0.3.0, mime@1.2.11, node-uuid@1.4.1, http-signature@0.10.0, hawk@0.13.1, form-data@0.0.8)
    ├── express@3.0.0 (methods@0.0.1, fresh@0.1.0, range-parser@0.0.4, crc@0.2.0, cookie@0.0.4, commander@0.6.1, debug@0.7.2, mkdirp@0.3.3, send@0.1.0, connect@2.6.0)
    ├── ripple-emulator@0.9.18 (connect-xcors@0.5.2, colors@0.6.0-1, accounting@0.3.2, request@2.12.0, moment@1.7.2, express@3.1.0)
    ├── npm@1.3.11
    └── plugman@0.11.0 (ncallbacks@1.1.0, osenv@0.0.3, bplist-parser@0.0.4, underscore@1.4.4, semver@2.0.11, dep-graph@1.1.0, elementtree@0.1.5, xcode@0.6.1, nopt@1.0.10, rc@0.3.0, tar.gz@0.1.1, npm@1.3.4)
    
  4. Notice the above line you can see the path were the file is mentioned. Copy that path. In my case it is C:\Users\binaryuser\AppData\Roaming\npm\cordova so use cd C:\Users\binaryuser\AppData\Roaming\npm\ and type cordova. There it is, it finally works.

  5. Since the -g key value isn't working you have set the Environment Variables path:
    1. Press Win + Pause|Break or right click on Computer and choose Properties.
    2. Click Advanced system settings on the left.
    3. Click Environment Variables under the Advanced tab.
    4. Select the PATH variable and click Edit.
    5. Copy the path mentioned above to the value field and press OK.