Adım adım kılavuz: DataGrid denetiminde SQL Server veritabanındaki verileri görüntüleme
Bu kılavuzda, bir SQL Server veritabanından veri alır ve bu verileri bir denetimde DataGrid görüntülersiniz. Verileri temsil eden ADO.NET Entity Framework sınıflarını oluşturmak için ADO.NET Entity Framework ve bir varlık sınıfından belirtilen verileri alan bir sorgu yazmak için LINQ kullanırsınız.
Önkoşullar
Bu izlenecek yolu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:
Visual Studio.
AdventureWorks örnek veritabanının SQL Server veya SQL Server Express örnek veritabanına erişim. AdventureWorks veritabanını GitHub.
Varlık sınıfları oluşturma
Visual Basic veya C# ile yeni bir WPF Uygulaması projesi oluşturun ve olarak ad
DataGridSQLExamplegirin.Bu Çözüm Gezgini projenize sağ tıklayın, Ekle'nin üzerine gelin ve Yeni Öğe'yi seçin.
Yeni Öğe Ekle iletişim kutusu görünür.
Yüklü Şablonlar bölmesinde Veri'yi seçin ve şablon listesinden ADO.NET Varlık Veri Modeli.

Dosyaya bir ad ve
AdventureWorksModel.edmxardından Ekle'ye tıklayın.Varlık Veri Modeli Sihirbazı görüntülenir.
Model İçeriği Seç ekranında veritabanından EF Designer'ı seçin ve ardından Sonraki'ye tıklayın.
Veri Bağlantınızı Seçin ekranında AdventureWorksLT2008 veritabanınıza bağlantıyı sağlar. Daha fazla bilgi için bkz. Veri Bağlantınızı Seçin İletişim Kutusu.
Adın olduğundan ve Varlık bağlantısını farklı kaydet App.Config onay kutusunun seçili olduğundan emin olun ve ardından
AdventureWorksLT2008EntitiesSonraki 'ye tıklayın.Veritabanı Nesnelerinizi Seçin ekranında Tablolar düğümünü genişletin ve Product ve 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ırsiniz.

Finish (Son) düğmesine tıklayın.
Product ve ProductCategory varlıkları, Entity Desisgner.

Verileri alma ve sun
MainWindow.xaml dosyasını açın.
XAML düzenleyicisinde, adlı bir DataGrid eklemek için ve etiketleri arasına aşağıdaki etiketi
<Grid></Grid>DataGriddataGrid1ekleyin.<DataGrid Name="dataGrid1" />
Window seçeneğini belirleyin.
Özellikler penceresi veya XAML düzenleyicisini kullanarak, olay için adlı bir Window
Window_Loadedolay işleyicisi Loaded oluşturun. Daha fazla bilgi için, bkz. How to: Create a Simple Event Handler.Aşağıda MainWindow.xaml için XAML'i gösterir.
Not
Visual Basic kullanıyorsanız MainWindow.xaml'in ilk satırına
x:Class="DataGridSQLExample.MainWindow"ifadesini ilex:Class="MainWindow"değiştirin.<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>için arka kapı kod dosyasını (MainWindow.xaml.vb veya MainWindow.xaml.cs) Window açın.
Bir araya gelen tablolardan yalnızca belirli değerleri almak ve özelliğini sorgunun ItemsSource DataGrid sonuçlarına ayarlamak için aşağıdaki kodu ekleyin.
using System.Data.Entity.Core.Objects; 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.Data.Objects 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 products As ObjectQuery(Of Product) = dataEntities.Products Dim query = _ From product In 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.
Verileri görüntüleyen bir DataGrid görüyor gerekir.
