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 minimising 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 optimised 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 optimising 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 synchronisation 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 synchronisation code. Live views are synchronised automatically with their sources and are much easier to create. You can use Studio for Entity Framework with any MVVM framework.
Code Freedom
Set up your data sources 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.