Metro Database Access through LINQ and ADO.NET
Devart LinqConnect for Metro is a fully-functional high-performance ORM
solution for Windows 8 Metro platform. With it you can develop
Metro-style applications (Windows Store apps) with true ORM support for
database access. Moreover, LinqConnect allows using ADO.NET interfaces
for working with data, which were not available for Windows Metro
before. And in addition, it offers its own managed embedded database
engine based on C# SQLite to store data locally using a fully functional
local relational database.
LINQ and ADO.NET Access
All LinqConnect ORM features - high performance, wide LINQ support, LINQ to SQL
compatibility - are available for Windows Metro developers. LinqConnect brings you
the possibility to use LINQ technology in your Windows Metro applications, which
grants you such features as compile-time validation, IntelliSense, and your IDE's
debugging mechanisms when building and testing your queries, etc.
Though Metro platform does not provide ADO.NET data access, with LinqConnect you
can use ADO.NET in Windows Metro applications. With LinqConnect you can employ the
flexibility and performance of the native database SQL language.
Portable Domain and Data Access Layers
LinqConnect provides the same interfaces for accessing data on all the supported
platforms. This allows you to share the same data access layer and domain layer
between your application ports to different platforms, such as .NET Framework, Mono,
Silverlight, Windows Phone 7 and 8, and Metro. For example, if your application should
use SQLite database and be ported to Metro, LinqConnect allows you to share the
same code for working with data in desktop and Metro-style applications.
LinqConnect for Metro can be used in XAML C# and Visual Basic applications.
Embedded Database for Metro Applications
In many cases Metro style applications need to store some data locally.
Metro platform offers you to serialize and store data in XML format. However this
is not always convenient to store data in XML format. You need to parse the whole
file even if you need only part of the data, and XML format can be too inefficient
if someone needs to store a significant amount of data locally.
Storing data in a relational database offers you a number of advantages - such as
transactions, constraints, indexes, and generally provides higher performance and
lesser file size. Using relational transactional database also increases reliability
of local data storage.
Metro platform does not provide SQL Server database, so if you need a reliable and
convenient storage for local data, LinqConnect suits perfectly for these needs.
It offers you embedded database functionality, allowing you to store data on the
client side in an embedded database. LinqConnect for Metro contains the ready-to-use
SQLite embedded database engine from C# SQLite project. You don't need to install
any additional software, just use LinqConnect to work with a fully-functional relational
database.
Small and efficient, and at the same time powerful SQLite database engine together
with ADO.NET and LINQ interfaces for data access make LinqConnect a perfect choice
to store data locally in Metro-style applications.
Connecting to Database in a Metro Application
(Two-Tier vs N-Tier)
Metro platform itself does not provide the way to access data from database servers
directly. To access such data, Microsoft offers one of the following ways: use Web
Services or ADO.NET Data Services that access data, materialize, serialize, and
send them to your Metro-style application in XML or JSON format. These ways involve
the creation of additional data access layer that causes overhead for data serialization
on the service side and deserialization on the client side. In addition, this increases
the network traffic of the application because it transmits data in an excessive
XML form, while database servers usually return it in much more compact binary form.

With LinqConnect you can connect to Oracle, MySQL, and PostgreSQL from Metro-style
applications. It allows you to use ORM LINQ in Metro applications and to create
truly Client-Server (two-tier) applications, that work with data directly through
the TCP/IP protocol, when n-tier architecture is objectional. It offers the following
benefits:
- No need to create an additional data access layer
- No performance overhead for data serialization and deserialization
- Lower network traffic
Windows Store Certification
LinqConect passes Windows Store certification. Our embedded database engine is 100% managed,
so you don't need to recompile your applications for different platforms (ARM and
PC).
C# 5.0 Features
LinqConnect for Metro features support of such C# 5.0 asynchronous programming features
as async and await keywords. Some DataContext class methods have their analogues
with the 'Async' suffix, which are executed asynchronously. IQueryable interface
also provides Async analogues to its methods. This allows you to develop Metro applications
with truly asynchronous data access.
Get Started Quickly
For beginner Metro developers, LinqConnect for Metro offers a simple
tutorial, that demonstrates how to create a Metro application, storing data
in an embedded SQLite database and displaying this data to the user. Additionally,
LinqConnect for Metro provides demo projects, that help you to start developing
Metro applications, using LinqConnect.