- Faisal Khwaja
- February 25, 2018
Everything You Need To Know About Using Entity Framework In MS Azure
With everything converting to the cloud format, Microsoft has made sure that it provides its users with one of the best cloud computing platform to carry out their tasks. And yes, as always, we are talking about Microsoft Azure. The topic we will cover in this article is entity framework in MS Azure.
Entity Framework serves as an adhesive needed between your object code and Azure SQL relational database with a framework that is compatible with your development tools and skills. Along with being a part of ADO.NET and being integrated into Visual Studio, entity framework is able to provide object relational map capabilities. This in turn helps app developers to better focus on the requirements of the applications instead on the intricacies of bridging different data representations.
For using spatial data types on Microsoft Azure, there is a requirement to deploy “Microsoft.SqlServer.Types” assembly along with your application. A recommended and easy way to do this is to install the “Microsoft.SqlServer.Types NuGet package” into your application.
The most convenient thing about SQL Azure is that it can be connected to any additional configuration if it is treated like any other SQL server database. Doesn’t matter whether you’re using Code First or EF Designer, this is true for both existing SQL Azure database and new databases from EF. There are certain characteristics of SQL Azure databases that have to be considered when using EF. They are as follows:
Connection Fault Handling
When accessing SQL Azure, connectivity drops are something that have to be taken into account. To learn proper processes to avoid connection drops, Microsoft azure classes are available for individuals to take and perfect this process.
Connection Resiliency (EF6 onwards)
If you’re considering to use EF6, the framework will have built in retry logic.
Handling of Transaction Commit Failures (EF6.1 onwards)
EF6.1 and upwards, the Framework will have built-in logic that helps it recover from failures that can occur during transactions.
EF6 and Prior
All versions before EF6 do not have the ability to retry an operation in case of a connection drop.
SQL Azure Federations
Current release of Entity Framework is compatible to work with SQL Azure Federations, but it does not have the ability to create federated databases. There are Azure online courses that can help users to work around such situations when using EF with SQL Azure Framework. These courses can provide the user with proper guidance around scenarios that commonly occur when deploying the Framework in Azure.
It also explains the procedure by which you can generate and submit the USE FEDERATION statement before queries are sent to the database. They also help a person understand the relationship between MARS and SQL Azure federations. There is a heavy impact of NO-MARS support, but the courses can help you tackle these problems with other alternatives.
Here are some guidelines to keep in mind when using EF with SQL azure federations:
- All applications that are based on Entity Framework need to make sure they can manage and identify different federation members. In other words, the app has to have a proper judgment of which store connections it has to open after analyzing the context, and successfully issue a “USE FEDERATION” statement to correctly connect to the required federation member before interaction with the database begins through EF.
- All database transactions will be started after the “USE FEDERATION” statement is issued. This process takes place as federated databases do not have the capability of supporting the “USE FEDERATION” statement in transactions.
- Any retires due to dropping connections would also have to be handled by the application itself.
- Different context classes should not span across the same federation members. The best case scenario for this is to manage the changes made by the context should be associated by a single federation member. This is to make sure that every time a “SaveChanges” command is shown, it would direct the assigned database data modifications operations to the specific federation member where the store connection currently points.
For people looking for Microsoft Azure training, there are numerous courses online that you can take and get ahead of the curve in the IT world. The world is advancing towards more cloud based networks as it is an efficient way of not just storing data, but also accessing and modifying it through any portal around the globe.