Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aşağıdaki örneklerde, C#'taki select
deyimi ve Visual Basic'teki Select
deyiminin, sorgu projeksiyonları oluşturmak için diğer özelliklerle nasıl birleştirilebileceği gösterilmektedir.
Örnek 1
Aşağıdaki örnekte, Select
Visual Basic'teki yan tümce (select
C#'deki yan tümce) kullanılarak, Customers
için kişilerinin adlarından oluşan bir dizi döndürülür.
var nameQuery =
from cust in db.Customers
select cust.ContactName;
Dim nameQuery = From cust In db.Customers _
Select cust.ContactName
Örnek 2
Aşağıdaki örnek, Select
yan tümcesi (C# için select
yan tümcesi) ve anonim türler kullanarak Customers
için kişi adlarının ve telefon numaralarının bir dizisini döndürür.
var infoQuery =
from cust in db.Customers
select new { cust.ContactName, cust.Phone };
Dim infoQuery = From cust In db.Customers _
Select cust.ContactName, cust.Phone
Örnek 3
Aşağıdaki örnek, Visual Basic'teki Select
yan tümcesi (select
C# yan tümcesi) ve anonim türler kullanarak, çalışanlar için bir dizi ad ve telefon numarası döndürür.
FirstName
ve LastName
alanları tek bir alan olan Name
'ye birleştirilir ve sonuçta elde edilen sırada HomePhone
alanı Phone
olarak yeniden adlandırılır.
var info2Query =
from emp in db.Employees
select new
{
Name = emp.FirstName + " " + emp.LastName,
Phone = emp.HomePhone
};
Dim info2Query = From emp In db.Employees _
Select Name = emp.FirstName & " " & emp.LastName, _
Phone = emp.HomePhone
Örnek 4
Aşağıdaki örnek, Visual Basic'teki Select
yan tümcesini (select
C# yan tümcesi) ve anonim türleri kullanarak tüm ProductID
dizisini ve HalfPrice
adlı hesaplanmış bir değeri döndürür. Bu değer, UnitPrice
değeri 2'ye bölünerek ayarlanır.
var specialQuery =
from prod in db.Products
select new { prod.ProductID, HalfPrice = prod.UnitPrice / 2 };
Dim specialQuery = From prod In db.Products _
Select prod.ProductID, HalfPrice = CDec(prod.UnitPrice) / 2
Örnek 5
Aşağıdaki örnekte, Visual Basic'teki Select
yan tümcesi ve C#'taki select
yan tümcesi ile bir koşullu deyim kullanılarak ürün adı ve ürün kullanılabilirliği dizisi döndürülmektedir.
var prodQuery =
from prod in db.Products
select new
{
prod.ProductName,
Availability =
prod.UnitsInStock - prod.UnitsOnOrder < 0
? "Out Of Stock" : "In Stock"
};
Dim prodQuery = From prod In db.Products _
Select prod.ProductName, Availability = _
If(prod.UnitsInStock - prod.UnitsOnOrder < 0, _
"Out Of Stock", "In Stock")
Örnek 6
Aşağıdaki örnekte, çalışan adlarının bir dizisini döndürmek için Visual Basic Select
yan tümcesi (select
C# dilinde yan tümce) ve bilinen bir tür (Ad) kullanılmaktadır.
public class Name
{
public string FirstName = "";
public string LastName = "";
}
void empMethod()
{
Northwnd db = new Northwnd(@"c:\northwnd.mdf");
var empQuery =
from emp in db.Employees
select new Name
{
FirstName = emp.FirstName,
LastName = emp.LastName
};
}
Public Class Name
Public FirstName As String
Public LastName As String
End Class
Dim db As New Northwnd("c:\northwnd.mdf")
Dim empQuery = From emp In db.Employees _
Select New Name With {.FirstName = emp.FirstName, .LastName = _
emp.LastName}
Örnek 7
Aşağıdaki örnek, Visual Basic'te Select
ve Where
'i (select
ve where
C# dilinde) kullanarak Londra'daki müşteriler için filtrelenmiş bir kişi adları dizisi döndürür.
var contactQuery =
from cust in db.Customers
where cust.City == "London"
select cust.ContactName;
Dim contactQuery = _
From cust In db.Customers _
Where cust.City = "London" _
Select cust.ContactName
Örnek 8
Aşağıdaki örnek, Visual Basic'te bir Select
yan tümcesi (C#'te select
yan tümcesi) ve anonim türler kullanarak, müşterilerle ilgili verilerin şekillendirilmiş bir alt kümesini döndürür.
var custQuery =
from cust in db.Customers
select new
{
cust.CustomerID,
CompanyInfo = new { cust.CompanyName, cust.City, cust.Country },
ContactInfo = new { cust.ContactName, cust.ContactTitle }
};
Dim custQuery = From cust In db.Customers _
Select cust.CustomerID, CompanyInfo = New With {cust.CompanyName, _
cust.City, cust.Country}, ContactInfo = _
New With {cust.ContactName, cust.ContactTitle}
Örnek 9
Aşağıdaki örnek, aşağıdaki sonuçları döndürmek için iç içe sorguları kullanır:
Tüm siparişlerin ve bunların karşılık gelen
OrderID
'larının bir dizisi.İndirim uygulanan sıradaki öğelerin alt dizisi.
Sevkiyat maliyeti dahil değilse tasarruf edilen para miktarı.
var ordQuery =
from ord in db.Orders
select new
{
ord.OrderID,
DiscountedProducts =
from od in ord.OrderDetails
where od.Discount > 0.0
select od,
FreeShippingDiscount = ord.Freight
};
Dim ordQuery = From ord In db.Orders _
Select ord.OrderID, DiscountedProducts = _
(From od In ord.OrderDetails _
Where od.Discount > 0.0 _
Select od), _
FreeShippingDiscount = ord.Freight