ComponentOne Studio® for Entity Framework adds ease-of-use and
performance enhancements to the ADO.NET Entity Framework and RIA Services. It
improves and simplifies data binding with these frameworks by solving common
problems related to loading, paging, filtering, and saving data. It also
provides performance enhancements such as fast loading and transparent scrolling
over large data sets with Virtual Mode.
[Features]
Cross Platform Support
ComponentOne Studio® for Entity Framework includes the C1DataSource component,
which allows you to combine multiple client view sources using Entity Framework
or RIA Services. C1DataSource is supported in Silverlight 4, WPF, and WinForms
(.NET 4.0).
Smart Client-side Caching
The key to most of Studio for Entity Framework’s features is its built-in
client-side data cache. Studio for Entity Framework maintains a cache of
entities on the client. When new queries are executed, it does not necessarily
go to the server. It checks the client-side cache first and will not go to the
server if it can find the result in the cache. By minimizing the number of trips
to and from the server, this significantly improves performance and speed.
Context Management
With Studio for Entity Framework you can use a single data context for your
entire application. This allows you to forget the troubles of programming
against multiple contexts across multiple views. Without Studio for Entity
Framework you might have multiple contexts which can be very difficult to write
code when you need to use entities from different contexts together. This
feature is made possible by the smart client-side cache.
Memory Management
Studio for Entity Framework is optimized for both performance and memory
consumption. It manages memory resources for you releasing old entity objects in
the cache when necessary to prevent memory leaks. In doing so, it fully
preserves consistency by maintaining required entities and entities modified by
the user.
Virtual Mode for Large Datasets
Handle infinitely large data sets. Virtual Mode technology allows you to
navigate through large data sets asynchronously. It works like paging on the
data layer, but the user can scroll through the data as if all rows were on the
client. As the user scrolls, chunks of data are retrieved from the source page
by page and disposed of as necessary. You can use Virtual Mode with various UI
controls such as the standard DataGrid or C1FlexGrid. Data can also be modified.
This feature is transparent to the developer; you can turn on Virtual Mode with
one simple property setting.
Paging with Data Modification
For applications that prefer a paging interface, Studio for Entity Framework
also supports paging without any limitations on data modification. That means
users can make changes on multiple pages in one session before having to push
the changes back to the database. This is a substantial improvement over other
paging implementations such as with the Microsoft RIA Services DomainDataSource.
Paging with C1DataSource is also supported in WinForms and WPF where paging is
not already provided.
Automatic Look-up Columns
C1DataSource can automatically configure grid columns to display look-up
comboboxes for referenced class objects. Without C1DataSource, columns display
useless class types rather than readable information, and tedious work is
involved to fix the problem. This time-saving feature can be turned on with one
Boolean property.
Server-side Filtering
Data brought from the server to the client usually needs to be filtered, or
restricted in some way, to avoid moving large amounts of data over the wire and
heaping it on the client. Studio for Entity Framework makes this common task
very simple. Instead of doing it manually in code, you can specify server-side
filters as simple property settings on C1DataSource.
Saving Modified Data
Studio for Entity Framework’s smart client caching makes it easy to write code
that saves modified data back to the server. With just one line of code and one
trip to the server, you can save multiple entities. Data Studio does all of the
heavy lifting; it maintains changed entities in the cache, and ensures the cache
is always consistent, while also optimizing memory usage and performance.
Client-side Transactions
Studio for Entity Framework gives developers a simple and powerful mechanism for
rolling back (canceling) and accepting changes on the client without involving
the server. It makes it easy to implement Cancel/Undo and OK/Accept buttons
anywhere, even in nested (child) dialogs and forms, modal and modeless.
Live Views with LiveLinq
LINQ is the perfect tool for transforming raw data into custom views. Studio for
Entity Framework makes LINQ even more powerful by making LINQ query statements
live. Studio for Entity Framework includes ComponentOne LiveLinq, an extension
library which augments the functionality of LINQ to speed up queries and provide
live views. With LiveLinq, you can shape your view however you want using LINQ
operators without losing full updatability and bindability. “Bindability” means
that your views are not just static snapshots of their source data. They are
“live” and automatically reflect changes in the data. Your query results are
kept up-to-date without re-populating every time changes in your data occur.
Simplifies MVVM
Simplify programming with the widely-adopted Model-View-ViewModel pattern known
as MVVM. You have to write a lot more code to develop MVVM applications because
of the additional code layer, the ViewModel, and the synchronization between the
Model and ViewModel data members. With Studio for Entity Framework, you can use
live views as your ViewModel and not have to worry about writing any
synchronization code. Live views are synchronized automatically with their
sources and are much easier to create. You can use Studio for Entity Framework
with any MVVM framework.
Code Freedom with Design-time Components
Design-time data source components allow you to set up your views directly
on the designer surface, with easy-to-use property dialogs and very little code
to write. Configure the C1DataSource control and apply server-side filter, sort
and group descriptors quickly at design-time. Of course, if you prefer to do
everything in code you have the freedom of doing so using the rich data class
libraries.
Virtual Mode Improves Performance
Handle infinitely large data sets. Virtual Mode technology allows you to
navigate through large data sets asynchronously. It works like paging on the
data layer, but the user can scroll through the data as if all rows were on the
client. As the user scrolls, chunks of data are retrieved from the source page
by page and disposed of as necessary. You can use Virtual Mode with various UI
controls such as the standard DataGrid or C1FlexGrid. Data can also be modified.
This feature is transparent to the developer; you can turn on Virtual Mode with
one simple property setting.