Steps for a beginner to run very basic linq to sql query using Linqpad

前端 未结 4 1957
长情又很酷
长情又很酷 2021-02-04 04:36

Trying to learn Linq using LinqPad and getting frustated with how to start on it. Let\'s say I want to write a C# Expression and a C# statment where I have a table in SQL server

相关标签:
4条回答
  • 2021-02-04 04:47

    Let's say I want to write a C# Expression and a C# statment where I have a table in SQL server named Products and I want to pull all rows where price is greater then 50. How would yo write it?

    LINQPad builds the typed DataContext for you automatically, so you don't need to instantiate anything. In C# expression mode, just type the folowing:

    Products.Where(p => p.Price > 50)
    

    and press F5. Alternatively, you might prefer to use a query expression:

    from p in Products
    where p.Price > 50
    select p
    

    In C# statements mode, you'll need to call the Dump() method to tell it to write out the results. You'll also need to terminate the expression with a semicolon:

    Products.Where(p => p.Price > 50).Dump();
    

    There are more examples in the samples section of LINQPad - look at the 5-minute induction.

    0 讨论(0)
  • 2021-02-04 05:00

    Check out: http://msdn.microsoft.com/en-us/library/bb397933(v=vs.90).aspx which will give you an introduction to Linq and using lambda expressions.

    Then have a look at http://msdn.microsoft.com/en-us/library/bb386927.aspx which will give you the basics, but to answer your specific question:

    var products = db.Products.Where(prod => prod.Price > 50);
    foreach(var product in products)
    {
         //do something
    }
    
    0 讨论(0)
  • 2021-02-04 05:09
    var db = new MyDatabaseContext();  // Your database context.
    var result = db.Products.Where(q=>q.Price > 50);
    

    ...where db represents your ORM context. Price represents your mapping to the Price field in the database. result represents the result set -- your database rows/entities.

    0 讨论(0)
  • 2021-02-04 05:11

    Just wanted to add - LINQ pad pluralizes - I did not know this and it drove me crazy for a good fifteen minutes

    I was trying to select from a table called DentalApplication

        DentalApplication.Where(a=> a.PackageID > 0)
    

    Gave me this error

        'LINQPad.User.DentalApplication' does not contain a definition for 'Where'
    

    Changed it to

        DentalApplications.Where(a=> a.PackageID > 0)
    

    and it worked

    0 讨论(0)
提交回复
热议问题