Devart LINQ Support
Devart LINQ Support is a LINQ engine for Oracle, MySQL, PostgreSQL, and SQLite developed closely
to the Microsoft LINQ to SQL technology. Devart LINQ Support is integrated into
dotConnect for Oracle,
dotConnect for MySQL,
dotConnect for PostgreSQL, and
dotConnect for SQLite.
Devart LINQ Support includes run time assemblies to be used directly by your
code, and a visual tool Entity Developer, which helps you build object-relational
model from scratch or by reverse-engineering your database.
What is LINQ?
LINQ stands for Language-Integrated Query, which means that data retrieval is
no longer a separate language. The LINQ engine allows .NET applications to
connect to databases without bothering much about columns and rows. The data
you receive is automatically formed as objects ready to use by your business
logic.
LINQ to Relational Data may be thought of as an object-relational mapping (ORM) tool.
The type-safe LINQ queries get compiled into MSIL on the fly, and the query clauses are
translated into SQL and sent to SQL server for execution. This makes your data
access layer safer, faster, and greatly more convenient to design.
Why Use LINQ Support?
Let's briefly enumerate just four main reasons to use Devart LINQ Support in your applications:
- Development time: it is really faster, having stripped off better
part of the mundane work.
- Maintenance time and effort: greatly designed application does not
need as much maintenance as a poorly written one.
- Performance: high enough without lots of efforts on optimizing your
code. Even higher if you bother to do so.
- Security: LINQ to SQL enforces good application architecture, which
leaves less room for design vulnerabilities.
LINQ to SQL vs ADO.NET Entity Framework
Nowadays Microsoft provides two rival technologies to make your database
development more object-oriented: LINQ to SQL and ADO.NET Entity Framework.
At first glance both technologies have similar object-relational mapping
capabilities. When deciding which technology to use, consider the following
aspects.
LINQ to SQL advantages
- LINQ to SQL is better suited for RAD-style development, it is easier to
start with.
- LINQ to SQL has better support for server-oriented features like BLOBs
and other server types.
- LINQ to SQL is less complicated than Entity Framework.
- LINQ to SQL has somewhat better performance.
- No restrictions are applied to your objects to be compatible with LINQ
to SQL. You only have to implement a couple of interfaces for automatic
change tracking.
Entity Framework advantages
- Entity Framework is a conceptual approach to database application
development. Therefore it requires more efforts to set up and maintain.
- Entity Framework is more portable across different database servers as
it is more abstract than LINQ to SQL.
- Support for Windows Communication Foundation.
- Support for ADO.NET Data Services
- Support for some Microsoft services (for example, reporting and analysis
services).
As you can see, every technology has its strong sides. Generally,
LINQ to Relational Data is a somewhat simpler solution when you need ORM
functionality.
Key Features
- Easy to use
- High performance
- Interchangeable with Microsoft LINQ to SQL
- Plain CLR classes used (no need to use a common base class)
- Full CRUD (Create, Retrieve, Update, Delete) support
- Change tracking support
- Stored procedures support
- Object data caching
- Data binding support
- Wide support for LINQ capabilities
- Wide support for server data types
- Load on demand (lazy load)
- Database transactions support
- Inheritance mapping support (table per hierarchy model)
- Server-independent interface
- Visual model creation and code generation with Entity Developer
Visual Model Creation
Devart LINQ support includes a powerful visual tool for creating entity model
that describes your business objects and their mapping to the database. You can
design the model from scratch or reverse-engineer an existing database, in which
case you will have the classes and the relations with just several clicks.
Entity Developer generates the classes in C# or Visual Basic. These classes (the
model) is used by your application code.
Roadmap
- Complete LINQ features support
- Different inheritance mapping models
- POCO (Plain Old CLR Objects)
- Simultaneous work with several databases
- Make objects to be shared between different DataContext
- Optimization of server queries execution for loading objects
- LinqDataSource, Dynamic Data Entities Web Site support
Entity Developer
- More predefined templates for diffrent use cases
- Improvements for visual mapping
- Database generation wizard
- Database metadata in local storage
- User-customizable type mapping
- Custom attributes for model elements
Feature Information
Requirements
Devart LINQ Support requires .NET Framework 3.5 installed on the computer.
Documentation And Samples
Devart LINQ Support is shipped with documentation that includes a set
of topics that cover LINQ usage and run time reference. There are several
demo projects in C# and Visual Basic that can help you start using the technology.
You can view the documentation online here.
Also there are quick illustrated tutorials for
Oracle,
MySQL,
PostgreSQL,
SQLite.
Discussion Forum
Devart LINQ Support has a dedicated forum where you can get help on using the
technology within Devart dotConnects.