The .NET DataStore brings the productivity of PowerBuilder to C# development. It consists of open-source C# libraries that provide a non-visual DataWindow & other commonly-used PowerBuilder features. A DataWindow Converter is also included to convert existing DataWindows to standard C# POCO models, automatically.
Minimal Coding - developers can accomplish big tasks with few lines of code, and all SQL is defined in the C# POCO model of the DataStore class, which minimizes redundant code.
Model-Driven - driven by a standard C# POCO model that contains all data-related properties and attributes. There is a strict separation of concerns and no proprietary .SRD format.
Managed Code - 100% managed code so it benefits from the full power of the Common Language Runtime (CLR), such as built-in security, faster performance, and ease of deployment.
.NET Core - compatible with the .NET Core Framework. You can deploy to either Windows or Linux OS running a variety of Web servers or even go serverless.
Open-Source - all libraries of the .NET DataStore are available in the C# source code form in addition to the compiled NuGet packages.
Any C# IDE - you can maintain your .NET projects in any C# IDE, such as Visual Studio or SnapDevelop.
IList<T> Compatible - the DataStore inherits from a standard .NET list, enabling you to natively integrate with other .NET code and libraries.
C# Programming Features
Working with the .NET DataStore in C# shares a lot of similarities with working with the DataWindow in PowerScript. You can leverage existing PowerBuilder skills and code assets, plus it is simply much more productive than many other ways to develop business apps in C#.
The DataStore class is created based on a standard C# POCO model. It maps columns to database tables and contains the related SQL. All the DataWindow-related functions are provided as either attributes or properties of the models. For example, the following DataWindow features are supported as standard model attributes or properties:
The .NET DataStore provides a set of comprehensive interfaces to allow users to easily and productively implement non-visual DataWindow techniques.
DataWindow Property Expressions – supports accessing model metadata via dot notation.
Child DataWindow - supports using child DataWindows, and provides the GetChild method to manipulate data.
The .NET DataStore also provides a set of comprehensive interfaces to allow developers to embrace more of what .NET and cloud-native programming has to offer.
Asynchronous APIs – provides a set of APIs to perform CRUD operations asynchronously (e.g., UpdateAsync, RetrieveAsync, and RetrieveByKeyAsync).
Generic APIs – provides a set of generic APIs that make coding more concise and type safe, thereby significantly boosting development productivity.
The database connection and transaction management of .NET DataStore are managed by the DataContext of the SnapObjects open-source ORM framework.
Explicit Transaction – the explicit transaction is managed in the same way as PowerBuilder. It also supports the AutoCommit settings of the transaction.
Implicit Transaction – uses implicit transaction management provided in SnapObjects to create complex multi-type transactions with minimal coding.
Rational Databases – supports various leading rational databases, including SQL Server, Oracle, SQL Anywhere, ASE, HANA, PostgreSQL, MySQL, and SQLite.
Cloud Databases – supports cloud databases in Amazon and Azure, including:
- Amazon Aurora, RDS for SQL Server, RDS for Oracle, RDS for PostgreSQL, and RDS for MySQL; and
- Azure SQL Database, Azure Database for PostgreSQL, and Azure Database for MySQL.
It automatically generates C# POCO models from existing DataWindows, DataStores, and ChildDataWindow. XML import/export templates are also converted.
Supports customizing the model generation rules to generate the most optimal POCO models for the .NET DataStore.
Allows you to batch convert multiple DataWindows at once.
It supports converting DataWindows from most versions of PowerBuilder:
- Sybase PowerBuilder 8-12.5
- SAP PowerBuilder 12.6
- Appeon PowerBuilder 2017-2019 R3
What’s New in .NET DataStore 2019 R3
Model Generation Customizations
Easily customize the model generation rules of the DataWindow Converter to generate the most optimal POCO models for the .NET DataStore.Features
- Customized model attributes
- Automatically add DataContext for the model
- Data type mapping
Program the .NET DataStore asynchronously with new asynchronous CRUD methods, making your application more responsive and scalable.Features
- Asynchronous query & saving
- Supports embedded and dynamic SQL
- Seamless debugging for asynchronous
- Scaffold asynchronous services and controllers
Choose from many more database types for your projects using the .NET DataStore, including Amazon and Azure cloud-specific database types.Features
- Supports Amazon RDS, including Aurora, RDS for PostgreSQL, RDS for MySQL, RDS for Oracle, and RDS for SQL Server
- Supports Microsoft Azure Databases, including Azure SQL Database, Azure Database for MySQL, and Azure Database for PostgreSQL
- Supports SAP ASE 15-16 & SAP HANA 2.0
"Appeon has enabled us to use DataWindow technology to bring a .NET Core Web API to life that is on its way to become the backbone of our planned migration to a 3-tiered architecture of our flagship product.
With PowerBuilder 2019 R3 we are able to use .NET Core 3.1, which brings us many of the benefits that Microsoft has put into its .NET Core line."
Vice President Software Development, Aescudata GmbH
The .NET DataStore is available as part of either PowerBuilder CloudPro or RapidSharp.