Best Practices for Developing Cloud Applications

This article presents a discussion on the best strategies and practices that should be adopted when developing and deploying applications for the cloud — to make your application more stable, scalable, and secure. When developing applications for the cloud, you should have your design, development, and deployment strategy in place. First off, is your application cloud-ready or cloud-centric? While in the former case, your application can be deployed to the cloud (either a public or a private cloud), the latter is a cloud-native application that leverages the cloud principles (multi-tenancy, elastic scaling, etc.).

Cloud computing has many business benefits. These include:

Building a RESTful Service Using ASP.NET Core and dotConnect for PostgreSQL

The term REST is an abbreviation for Representational State Transfer. It is a software architectural style created to assist the design and development of the World Wide Web architecture. REST defines a set of constraints that define how a distributed hypermedia system, such as the Web, should be architected. Restful Web Services are HTTP-based, simple, lightweight, fast, scalable, and maintainable services that adhere to the REST architectural style.

The REST architectural style views data and functionality as resources accessed via Uniform Resource Identifiers (URIs). Restful architecture is a client-server paradigm that utilizes a stateless communication protocol, often HTTP, for data exchange between server and client. In REST, the clients and servers interact through a defined and standardized interface.

Working With Transactions in Entity Framework Core and Entity Developer

Entity Framework Core, a lightweight cross-platform version of the Entity Framework, gives you a standard method to retrieve data from various data sources using the Entity Framework. It supports working with transactions as well, so you can create and manage transactions elegantly.

This article presents a discussion on how we can work with transactions using Entity Framework Core and Entity Developer for data access.

Working With Lazy Loading and Eager Loading in Entity Framework Core and Entity Developer

Entity Framework is an Object Relational Mapper (ORM) tool from Microsoft that has been an extremely popular from the time it was available. It enables developers to create data-centric applications by programming against a conceptual model rather than the relational model thereby solving the impedance mismatch between the way data is represented in the application and how it is actually stored in the database. While Entity Framework runs on .NET Framework, Entity Framework Core can run on .NET Core environment.

While Entity Framework runs on .NET Framework, Entity Framework Core can run on .NET Core environment.

Working With dotConnect for Oracle in ASP.NET Core

Introduction

dotConnect for Oracle is a fast ORM for Oracle from Devart that is built on top of ADO.NET and provides you an opportunity to connect to and work with Oracle databases from your .NET or .NET Core applications. It is a fast, scalable data access framework that can be used in WinForms, ASP.NET, etc.

The article discusses the striking features of dotConnect for Oracle and shows how to work with it in ASP.NET Core.

Working With Stored Procedures Using dotConnect for Oracle

Introduction

A stored procedure comprises a set of SQL statements and PL/SQL constructs that are grouped together. Stored procedures, as well as functions, can have input, output as well as input/output parameters. dotConnect for Oracle provides excellent support for working with stored procedures.

It is a fast, scalable ORM for Oracle from Devart that is built on top of ADO.NET and provides you an opportunity to connect to and work with Oracle databases from your .NET or .NET Core applications. You can use this framework in your WinForms, WPF, ASP.NET, and ASP.NET Core applications.

Working With Queries Using Entity Framework Core and Entity Developer

Introduction

Entity Developer is a popular ORM tool from Devart with many interesting features. In this article, we’ll use Entity Developer to generate an entity data model and its corresponding classes.

Once your data model is available, you can create a new query from the Tools -> Entity Developer menu option inside Visual Studio. This article discusses how to work with queries in Entity Developer.

Working With dotConnect for SQL Server in ASP.NET Core

dotConnect for SQL Server is a fast ORM for SQL Server from Devart that is built on top of ADO.NET and provides you an opportunity to connect to SQL Server databases from .NET or .NET Core applications. dotConnect for SqlServer, earlier known as SQLDirect.NET, is a fast, scalable data access framework that can be used in WinForms, ASP.NET, etc. This article talks about the features and benefits of dotConnect for Sql Server and how we can work with it in ASP.NET Core.

Prerequisites

To be able to work with the code examples demonstrated in this article, you should have the following installed in your system:

Working With ORMs Using Entity Developer

Entity Developer from Devart is a modeling and code generation tool that lets you design your data access layer visually - at the drop of a hat. You can take advantage of Entity Developer to generate data access layer code automatically using one unified interface – as a result, chances of error creeping into your Data Access code are minimal.

In this article we’ll take advantage of Entity Developer to connect to and work with various ORM tools such as, EF Core, NHibernate, Telerik Data Access and LinqConnect. This article starts with a brief discussion on what ORMs are, why Entity Developer is useful, and how you can leverage Entity Developer to connect to and work with all these ORMs.

Synchronizing Model and Database in Entity Developer

Entity Developer from Devart is a very powerful modeling and code generation tool, an ORM tool to be more precise. Entity developer lets you design your data access layer visually — at the drop of a hat. Since the data access layer generated by Devart contains automated and generated code, chances of error are minimal.

The official website of Entity Developer states: "Entity Developer can help you design models for various .NET ORMs in one unified interface. You can get support for all ORMs in one tool, or you may purchase a separate edition, working with one of the supported ORMs." 

Implementing the Repository Pattern Using C# and Entity Developer in ASP.NET Core

Introduction

The Repository Pattern is one of the most popular design patterns used for abstracting how data is eventually persisted in the database or retrieved from the database. The basic objective of the Repository Pattern is to help you decouple the data access and business logic layers of an application. This article talks about how we can implement the repository pattern in C# and take advantage of Entity Developer to talk to the database.

Why Should We Use an ORM?

An ORM is an acronym for Object Relational Mapper - it is used to map your domain objects to the objects in the relational model. In other words, it is used to map data between incompatible type systems. Entity Developer from Devart is an ORM designer tool that lets you design your data access layer visually. It sits on top of ADO.NET and simplifies the way you work with data.

An Insight Into Data Connectivity Challenges and How to Overcome Them

Data connectivity is the ability to connect one or more servers and clients so as to transfer huge volumes of data between them. Data connectivity and the demand for it has been changing the way we live and work. We dwell in a connected world in which data connectivity helps us communicate, conduct business, travel from one place to another and help us stay informed. The quest for using data effectively and innovatively has increased the need for reliable and robust data connectivity so that the enterprises can analyze the data and make intelligent business decisions when need be.

The evolving technologies such as 5G, virtual reality, artificial intelligence systems, robots, drones - all of these need better data connectivity. Albeit the fact that data connectivity is extremely important, it is complex and poses challenges aplenty. This article talks about data connectivity challenges and the strategies to overcome them.

Concurrency Handling Techniques in ADO.NET

Concurrency handling is a technique that allows you to detect and resolve conflicts that arise out of two concurrent requests to the same resource. It is a technique that allows multiple users to access the same data at the same point in time and yet ensures the data remains consistent across all subsequent requests. This article would discuss how we can what concurrency is, the types of concurrency, the techniques involved in implementing each of them, the pros and cons of each of the concurrency handling techniques, the performance issues involved, and when we should use one over the other in our applications.

Interdependent Transactions – A Real-Life Example

Imagine a situation in which you were to transfer funds from your bank account to your friend’s account. Now at the time when the transaction is in execution, imagine what would happen if you were to check your account balance. Or, imagine what should be displayed as an account balance while your friend is checking his account balance while the funds transfer is in progress. Also, what would happen if your friend is trying to withdraw funds from his account while the funds transfer is in progress?

When and How to Use Dispose and Finalize in C#

Although the .NET framework frees managed memory and resources transparently, it's not as adept at freeing unmanaged resources; you have to help it out by implementing the Dispose and Finalize patterns in your code. When the .NET framework instantiates an object, it allocates memory for that object on the managed heap. The object remains on the heap until it's no longer referenced by any active code, at which point the memory it's using is "garbage," ready for memory deallocation by the .NET Garbage Collector (GC). Before the GC deallocates the memory, the framework calls the object's  Finalize()  method, but developers are responsible for calling the  Dispose()  method.

The two methods are not equivalent. Even though both methods perform object clean-up, there are distinct differences between them. To design efficient .NET applications, it's essential that you have a proper understanding of both how the .NET framework cleans up objects and when and how to use the Finalize and Dispose methods. This article discusses both methods and provides code examples and tips on how and when to use them.