entity-framework
  1. entity-framework-writing-linq-queries

Writing LINQ Queries - (EF Querying with LINQ)

Entity Framework (EF) is a popular Object-Relational Mapping (ORM) framework for .NET applications. LINQ is a powerful language extension that makes it easy to write queries in .NET languages such as C#. In this tutorial, we'll look at how to write LINQ queries using EF.

Syntax

The syntax for writing LINQ queries with EF is as follows:

using (var ctx = new MyContext())
{
    var result = from c in ctx.Customers
                 where c.City == "New York"
                 select c;
}

Example

Let's look at an example of how to write a LINQ query using EF. Suppose we have the following two tables in our EF model:

public class Customer
{
    public int CustomerId { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
}

public class Order
{
    public int OrderId { get; set; }
    public int CustomerId { get; set; }
    public decimal Amount { get; set; }
    public DateTime Date { get; set; }
}

To write a query that returns all orders for customers older than 30 from New York, we can use the following LINQ query:

using (var ctx = new MyContext())
{
    var result = from c in ctx.Customers
                 join o in ctx.Orders on c.CustomerId equals o.CustomerId
                 where c.Age > 30 && c.City == "New York"
                 select o;
}

Explanation

In this example, we use the join keyword to join the Customers and Orders tables on the CustomerId column. Then, we use the where keyword to filter the results to only include customers who are older than 30 and from New York.

Use

LINQ queries with EF are useful when you need to query a database using C# instead of SQL. This allows you to take advantage of the full power of C# and its libraries when working with data.

Important Points

Here are some important points to keep in mind when writing LINQ queries with EF:

  • LINQ queries with EF are powerful and flexible, but they can be slower than equivalent SQL queries.
  • LINQ queries with EF are composable, which means you can chain them together to build more complex queries.
  • LINQ queries with EF can be used with a variety of databases, including SQL Server, MySQL, and SQLite.

Summary

In this tutorial, we discussed how to write LINQ queries using EF. We covered syntax, examples, explanation, use, and important points of writing LINQ queries using EF. By understanding LINQ queries with EF, you can perform powerful query operations in C# and take advantage of EF's ORM capabilities.

Published on: