Reputation: 7603
I am looking for a few suggestions on how I can integrate database functionality into my WPF application for fast and efficient query processing. Are there libraries I can integrate, or does C# have this built in.
What I intend to have is several tables with less than one thousand entries each. This data is read from an XML file when the application launches and is inserted into tables. All data should reside in memory so no filesystem support is necessary.
Upvotes: 1
Views: 135
Reputation: 3917
You can use ADO.NET Datasets from the xml files. Take a look here for a example
DataSet dataSet = new DataSet();
DataTable dataTable = new DataTable("table1");
dataTable.Columns.Add("col1", typeof(string));
dataSet.Tables.Add(dataTable);
string xmlData = "<XmlDS><table1><col1>Value1</col1></table1><table1> <col1>Value2</col1></table1></XmlDS>";
System.IO.StringReader xmlSR = new System.IO.StringReader(xmlData);
dataSet.ReadXml(xmlSR, XmlReadMode.IgnoreSchema);
Upvotes: 1
Reputation: 28687
Look at ADO.net's DataSet: http://msdn.microsoft.com/en-us/library/ss7fbaez.aspx (emphasis mine):
The ADO.NET DataSet is a memory-resident representation of data that provides a consistent relational programming model regardless of the source of the data it contains. A DataSet represents a complete set of data including the tables that contain, order, and constrain the data, as well as the relationships between the tables.
There are several ways of working with a DataSet, which can be applied independently or in combination. You can:
Programmatically create a DataTable, DataRelation, and Constraint within a DataSet and populate the tables with data.
Populate the DataSet with tables of data from an existing relational data source using a DataAdapter.
Load and persist the DataSet contents using XML. For more information, see Using XML in a DataSet (ADO.NET).
See http://msdn.microsoft.com/en-us/library/fx29c3yd.aspx for specifics on "Loading a DataSet from XML".
This is available by default in ADO.Net - one of the base .Net libraries, so it is immediately usable from C# without any additional dependencies. (Technically, C# is just a language - it doesn't provide any libraries.)
Upvotes: 1