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 integarted 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
  • 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.

Screenshot Entity Developer

Entity Developer generates the classes in C# or Visual Basic. These classes (the model) is used by your application code.


Roadmap

  • Stored procedures support
  • ExecuteQuery support
  • Complete LINQ features support
  • Different inheritance mapping models
  • Different load options
  • Data refresh support
  • Handling concurrency errors
  • Support for public compiled queries
  • Support for partial methods
  • Database creation and removal on the server

Entity Developer

  • Visual Studio 2008 integration
  • Stored procedures support
  • 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 also three demo projects in C# and Visual Basic that can help you start using the technology.

You can view the documentation online here.

Support Forum

Devart LINQ Support has a dedicated forum where you can get help on using the technology within Devart dotConnects.