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.
Bu kılavuzda, bir SQL Server veritabanından veri alır ve bu verileri bir DataGrid denetiminde görüntülersiniz. Verileri temsil eden varlık sınıflarını oluşturmak için ADO.NET Entity Framework ve belirtilen verileri bir varlık sınıfından alan bir sorgu yazmak için LINQ kullanırsınız.
Önkoşullar
Bu kılavuzu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:
Visual Studio.
AdventureWorks örnek veritabanının bağlı olduğu çalışan bir SQL Server veya SQL Server Express örneğine erişim. AdventureWorks veritabanını GitHubadresinden indirebilirsiniz.
Varlık sınıfları oluşturma
Visual Basic veya C# içinde yeni bir WPF Uygulaması projesi oluşturun ve
DataGridSQLExampleolarak adlandırın.Çözüm Gezgini'nde projenize sağ tıklayın, Ekleüzerine gelin ve Yeni Öğeseçin.
Yeni Öğe Ekle iletişim kutusu görüntülenir.
Yüklü Şablonlar bölmesinde veri
seçin ve şablon listesinde varlık veri modeli ADO.NET seçin. Varlık Veri Modeli öğe şablonu
ADO.NET Dosyayı
AdventureWorksModel.edmxadlandırın ve Ekleöğesine tıklayın.Varlık Veri Modeli Sihirbazı görüntülenir.
Model İçeriğini Seç ekranında, veritabanı'den EF Designer
seçin ve ardından İleri tıklayın.Veri Bağlantınızı Seçin ekranında AdventureWorksLT2008 veritabanınıza bağlantıyı sağlayın. Daha fazla bilgi için bkz. Veri Bağlantınızı Seçin İletişim Kutusu.
Adın
AdventureWorksLT2008Entitiesolduğundan ve App.Config'de varlık bağlantısı ayarlarını olarak kaydet onay kutusunun seçildiğinden emin olun ve ardından İleri'ye tıklayın.Veritabanı Nesnelerinizi Seçin ekranında Tablolar düğümünü genişletin ve Ürün ile ProductCategory tablolarını seçin.
Tüm tablolar için varlık sınıfları oluşturabilirsiniz; ancak bu örnekte yalnızca bu iki tablodan veri alırsınız.
Finish (Son) düğmesine tıklayın.
Product ve ProductCategory varlıkları Varlık Tasarımcısı'nda görüntülenir.
Verileri alma ve sunma
MainWindow.xaml dosyasını açın.
XAML düzenleyicisinde, DataGrid ve
<Grid>etiketleri arasına aşağıdaki</Grid>etiketini ekleyerek DataGridadlı birdataGrid1ekleyin.<DataGrid Name="dataGrid1" />DataGrid
DataGrid_SQL_EF_Step6 ilePenceresi Windowseçin.
Özellikler penceresini veya XAML düzenleyicisini kullanarak, Window adlı ve
Window_Loadedolayı için Loaded adında bir olay işleyicisi oluşturun. Daha fazla bilgi için bkz. Nasıl yapılır: Basit Olay İşleyicisi Oluşturma.Aşağıda MainWindow.xaml için XAML gösterilmektedir.
Uyarı
Visual Basic kullanıyorsanız MainWindow.xaml dosyasının ilk satırında
x:Class="DataGridSQLExample.MainWindow"yerinex:Class="MainWindow"yazın.<Window x:Class="DataGridSQLExample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="450" Loaded="Window_Loaded"> <Grid> <DataGrid Name="dataGrid1" /> </Grid> </Window>Windowiçin arka planda kod dosyasını (MainWindow.xaml.vb veya MainWindow.xaml.cs) açın.
Birleştirilen tablolardan yalnızca belirli değerleri almak için aşağıdaki kodu ekleyin ve ItemsSourceDataGrid özelliğini sorgunun sonuçlarına ayarlayın.
using System.Linq; using System.Windows; namespace DataGridSQLExample { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { AdventureWorksLT2008Entities dataEntities = new AdventureWorksLT2008Entities(); public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { var query = from product in dataEntities.Products where product.Color == "Red" orderby product.ListPrice select new { product.Name, product.Color, CategoryName = product.ProductCategory.Name, product.ListPrice }; dataGrid1.ItemsSource = query.ToList(); } } }Imports System.Linq Class MainWindow Dim dataEntities As AdventureWorksLT2008Entities = New AdventureWorksLT2008Entities Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded Dim query = _ From product In dataEntities.Products _ Where product.Color = "Red" _ Order By product.ListPrice _ Select product.Name, product.Color, CategoryName = product.ProductCategory.Name, product.ListPrice dataGrid1.ItemsSource = query.ToList() End Sub End ClassÖrneği çalıştırın.
DataGrid adlı verileri görüntüleyen bir nesne görmelisiniz.
SQL veritabanı
DataGrid_SQL_EF_Step7 verilerle DataGrid'i
Ayrıca bakınız
.NET Desktop feedback