2014-12-17 2 views
0

Я воссоздаю приложение Winforms в WPF, и я застрял с DataSet (System.Data.DataSet).Winforms DataSet в WPF

В представлении «Компоненты» я вижу DataSet под управлением Windows Forms, но я не могу его использовать, он недоступен.

У меня нет опыта работы в WPF, я искал Google, но все, что я нашел, это использовать SQL-базу данных SQL в качестве набора данных, но это не то, что мне нужно.

+0

Настоятельно рекомендуется оставить архаичные практики из winforms и использовать современные технологии. В сочетании с WPF вы будете использовать Entity Framework, которая является рекомендуемой технологией доступа к данным для всех новых приложений на базе .NET. Entity Framework позволяет создавать строго типизированную объектную модель, представляющую вашу базу данных, которая является гораздо более безопасным и чистым способом работы с вашими данными, чем «традиционный» (читаемый: архаичный) нетипизированный, основанный на волшебной веревке словарь, который DataSets предоставлять. Он устраняет необходимость в большинстве отливок и позволяет и гораздо более чистую кодовую базу. –

ответ

1

В приложениях WPF, относятся к концепции DataTable, используемой для связывания цели: например, используя его в качестве DefaultViewItemsSource недвижимости для DataGrid. Пример фрагмент код демонстрирует DataSet кодирования техника в WPF/C# доступе к базе данных SqlCE:

// reference Libraries, including SqlCE 
using System.Data; 
using System.Data.SqlServerCe; 

Пример код с использованием набора данных и других объектами данных

private SqlCeDataAdapter dataAdapterSqlCe; 
private SqlCeConnection connectionSqlCe; 
private DataSet dataSet; 
private DataTable dataTable; 

// Creating connection to SqlCE DB 
connectionSqlCe = new SqlCeConnection(ConnectionString); 
connectionSqlCe.Open(); 

// create new DataAdapter based on connection obj and SelectQuery 
dataAdapterSqlCe = new SqlCeDataAdapter(); 
dataAdapterSqlCe.SelectCommand = new SqlCeCommand(SelectQuery, connectionSqlCe); 

// create DataSet 
dataSet = new DataSet(); 

// use DataAdapter to Fill Dataset 
dataAdapterSqlCe.Fill(dataTable); 

#region Binding dataGrid to dataTable 
// DataGrid binding 
dataGrid.ItemsSource = dataTable.DefaultView; 

// or, alternatively 
dataGrid.DataContext = dataTable; 
#endregion 

connectionSqlCe.Close(); 

Надеется, что это поможет. С уважением,