[TableName("Products")] public class Product { [PrimaryKey, Identity] public int ProductID; [NotNull] public string ProductName; public int? SupplierID; public int? CategoryID; public string QuantityPerUnit; public decimal? UnitPrice; public short? UnitsInStock; public short? UnitsOnOrder; public short? ReorderLevel; public bool Discontinued; [Association(ThisKey="ProductID", OtherKey="ProductID")] public List<OrderDetail> OrderDetails; [Association(ThisKey="CategoryID", OtherKey="CategoryID", CanBeNull=false)] public Category Category; [Association(ThisKey="SupplierID", OtherKey="SupplierID", CanBeNull=false)] public Supplier Supplier; }
from p in db.Product select new { p.Category.CategoryName, p.ProductName };
SELECT [t1].[CategoryName], [p].[ProductName] FROM [Products] [p] INNER JOIN [Categories] [t1] ON [p].[CategoryID] = [t1].[CategoryID]
SELECT [t1].[CategoryName], [p].[ProductName] FROM [Products] [p] LEFT JOIN [Categories] [t1] ON [p].[CategoryID] = [t1].[CategoryID]
from p in db.Product select new { p.OrderDetails.Count, p.ProductName };
SELECT ( SELECT Count(*) FROM [Order Details] [t1] WHERE [p].[ProductID] = [t1].[ProductID] ) as [c1], [p].[ProductName] FROM [Products] [p]
from o in db.Order select new Northwind.Order { OrderID = o.OrderID, Customer = o.Customer };
SELECT [o].[OrderID], [t1].[CustomerID], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Address], [t1].[City], [t1].[Region], [t1].[PostalCode], [t1].[Country], [t1].[Phone], [t1].[Fax] FROM [Orders] [o] INNER JOIN [Customers] [t1] ON [o].[CustomerID] = [t1].[CustomerID]
from o in db.OrderDetail select new { o.Product.ProductName, o.Order.OrderID, o.Order.Employee.ReportsToEmployee.Region };
SELECT [t1].[ProductName], [o].[OrderID], [t2].[Region] FROM [Order Details] [o] INNER JOIN [Products] [t1] ON [o].[ProductID] = [t1].[ProductID] INNER JOIN [Orders] [t4] LEFT JOIN [Employees] [t3] LEFT JOIN [Employees] [t2] ON [t3].[ReportsTo] = [t2].[EmployeeID] ON [t4].[EmployeeID] = [t3].[EmployeeID] ON [o].[OrderID] = [t4].[OrderID]
from p in db.Product group p by p.Category into g where g.Count() == 12 select g.Key.CategoryName;
SELECT [t1].[CategoryName] FROM [Products] [p] INNER JOIN [Categories] [t1] ON [p].[CategoryID] = [t1].[CategoryID] GROUP BY [t1].[CategoryID], [t1].[CategoryName] HAVING Count(*) = 12
from o in db.Order from t in db.EmployeeTerritory where o.Employee == t.Employee select new { o.OrderID, o.EmployeeID, t.TerritoryID };
SELECT [o].[OrderID], [o].[EmployeeID], [t1].[TerritoryID] FROM [Orders] [o], [EmployeeTerritories] [t1] WHERE [o].[EmployeeID] = [t1].[EmployeeID]
SELECT [o].[OrderID], [o].[EmployeeID], [t3].[TerritoryID] FROM [Orders] [o] LEFT JOIN [Employees] [t1] ON [o].[EmployeeID] = [t1].[EmployeeID], [EmployeeTerritories] [t3] LEFT JOIN [Employees] [t2] ON [t3].[EmployeeID] = [t2].[EmployeeID] WHERE [o].[EmployeeID] = [t3].[EmployeeID] AND [t1].[LastName] = [t2].[LastName] AND [t1].[FirstName] = [t2].[FirstName] AND [t1].[Title] = [t2].[Title] AND [t1].[TitleOfCourtesy] = [t2].[TitleOfCourtesy] AND ([t1].[BirthDate] IS NULL AND [t2].[BirthDate] IS NULL OR [t1].[BirthDate] IS NOT NULL AND [t2].[BirthDate] IS NOT NULL AND [t1].[BirthDate] = [t2].[BirthDate]) AND ([t1].[HireDate] IS NULL AND [t2].[HireDate] IS NULL OR [t1].[HireDate] IS NOT NULL AND [t2].[HireDate] IS NOT NULL AND [t1].[HireDate] = [t2].[HireDate]) AND [t1].[Address] = [t2].[Address] AND [t1].[City] = [t2].[City] AND [t1].[Region] = [t2].[Region] AND [t1].[PostalCode] = [t2].[PostalCode] AND [t1].[Country] = [t2].[Country] AND [t1].[HomePhone] = [t2].[HomePhone] AND [t1].[Extension] = [t2].[Extension] AND [t1].[Notes] = [t2].[Notes] AND ([t1].[ReportsTo] IS NULL AND [t2].[ReportsTo] IS NULL OR [t1].[ReportsTo] IS NOT NULL AND [t2].[ReportsTo] IS NOT NULL AND [t1].[ReportsTo] = [t2].[ReportsTo]) AND [t1].[PhotoPath] = [t2].[PhotoPath]