.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.
Easy to Learn - .NET DataStore provides virtually the same productive approach to programming as PowerBuilder, including non-visual DataWindow APIs (properties, methods and events), data buffers, transaction management, system functions, and SQL programming.
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.
Automatic Conversion - an automated conversion tool (the DataWindow Converter) generates standard C# POCO models from existing DataWindows including the child DataWindows.
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 .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.
C# Programming Features
Working with .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:
Using PBSelect, Raw SQLs, Parameters, Table, Key, UpdateWhere function, Stored Procedures, etc. in the CRUD definitions.
Defining all DataWindow presentation styles (except OLE and Crosstab).
Learn more about the Model attributes and properties
.NET DataStore provides a set of comprehensive interfaces to allow users to easily and productively implement non-visual DataWindow techniques.
DataStore APIs – supports almost the same non-visual properties, methods and events as the PowerBuilder DataStore.
DataWindow Expressions – supports using DataWindow expressions in Computed Fields, Sorting, Filters, Evaluate methods, and Validation rules.
DataWindow Property Expressions – supports accessing model metadata via dot notation.
DataWindow Data Expressions – provides a set of methods to achieve the same results of DataWindow Data Expressions, e.g., get data from multiple rows, set data to multiple rows, get data from columns, and set data to columns.
Child DataWindow – supports using child DataWindows, and provides the GetChild method to manipulate data.
Dynamic DataWindow Technique – supports dynamically creating and retrieving data to .Net DataStore. It also supports dynamically accessing the DataWindow data via Describe and Modify methods.
System Functions – Many PowerScript system functions already have equivalent native methods in C#, and .Net DataStore adds support for an additional 70 non-visual system functions. These system functions are provided as either class methods or extension methods of the C# data type.
.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.
Data Exchange – provides multiple methods to facilitate the data exchange between the PowerBuilder Client and REST API Projects e.g., ExportJson , ImportJson , AddDataStore or GetDataStore.
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 .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
Model Generation Customizations
Easily customize the model generation rules of the DataWindow Converter to generate the most optimal POCO models for .NET DataStore.Features
- Customized model attributes
- Automatically add DataContext for the model
- Data type mapping
Program .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 .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
Download the trial to start developing your first REST API using powerful DataWindow technology. We also recommend you dive deeper by watching .NET DataStore Training video.
.NET DataStore is available as part of PowerBuilder CloudPro. PowerBuilder CloudPro deploys existing client/server applications to the Cloud with a C# REST API architecture. The absolute fastest path to the Cloud!