Remember – this is for the ebook only. Enjoy!
Some of you may be aware that my new book for Packt Publishing is out! It is titled Entity Framework Core Cookbook – Second Edition because it was meant to be the second edition of Entity Framework 4.1: Expert’s Cookbook. In fact, it is mostly a full rewrite.
It is organized in chapters:
Chapter 1: Improving Entity Framework in the Real World
Chapter 2: Mapping Entities
Chapter 3: Validation and Changes
Chapter 4: Transactions and Concurrency Control
Chapter 5: Querying
Chapter 6: Advanced Scenarios
Chapter 7: Performance and Scalability
When I started writing it, .NET Core was still in early RC1. Things changed a lot from RC1 to RC2 and then again to RTM, so I had to revisit all chapters in the end. It was a pity that EF Core 1.1 was released shortly after the book was closed, because I could have talked about it too. Also, there are things that I could have covered, like extending Entity Framework Core, but there were so many of them! Maybe in a future time!
Those of you who are interested can get a copy from the Pack Publishing site or from other sellers, either as an e-book or in hardcopy.
The good guys at Packt Publishing are at it again!
Packt Publishing is celebrating the Machine Learning Week. Machine Learning Week runs from Monday 18th January until 23:59 GMT on Monday 25th – throughout one will be able to save 50% on some of the most popular titles – such as Python, Java .NET and many more. Also, with a 50% discount on top titles, one can also pick up a 5-eBook bundle for just $50. Checkout link http://bit.ly/209h0lv!
I recently published a review of Pack Publishing’s new book, Blend for Visual Studio 2012 by Example – Beginner’s Guide. Well, guess what, Pack is offering a 50% off discount if you buy it between 17th and 25th of September! You just need to use this discount code:
Keep in mind that this code is only valid for this ebook!
So, what are you waiting for?
I was recently asked by Packt Publishing to review another of their books. This time it was Blend for Visual Studio 2012 by Example, a book by Abhishek Shukla (@abbeyshukla), apparently, the first book on Blend for Visual Studio, even if it still covers Visual Studio 2012, most of it will apply to 2013 as well. My interest in Blend came from the fact that I recently had to work with Silverlight, and Blend is, of course, one of the must-have tools.
This book is for beginners on Blend, and it covers a number of technologies around XAML:
Each chapter starts by explaining some concept and then goes on to a sample application that demonstrates it.
So, the first chapter is just an introduction on what Blend is used for, how to get it and install it, the Blend IDE, etc. We are guided through a sample (and simple) application built in Silverlight. I’d say it’s a decent start.
The second chapter talks about one of the fundamental building blocks in any graphical application: the layout components. We are presented the five basic layout panels existing in WPF (Grid, Canvas, Stack Panel, Wrap Panel and Dock Panel) and given one example of its usage (except Wrap Panel and Dock Panel). Others, like Border, Popup, Scroll Viewer, Uniform Grid and View Box are also just succinctly described.
This one is about the Extensible Markup Language (XAML), the glue that brings together WPF, Silverlight, Windows Phone and Windows Store apps. We are taught about namespaces and custom registrations, the XAML syntax, and how XAML relates to C#. We also learn about styles, a very important concept.
In this chapter, we have more styles and also templates and resources, three concepts closely intermingled. We learn about the several levels on which resources can be declared and the difference between static and dynamic resource references. Then, style definitions, targeting and inheritance and how to use resource dictionaries to skin our applications. Templates come next, in its two major flavors (control and data). We see how we can edit the templates of existing controls
This time its all about adding interactivity to applications, through behaviors and visual states. We learn about Blend’s own behavior library, that can be used for both WPF and Silverlight, and get to create a sample animation. Next come visual states, the default XAML mechanism that is supported natively by both Silverlight and XAML, and we also learn how to do a similar animation effect.
In chapter 6 we go more deeply into animations using the IDE’s powerful storyboard tools. We learn how to record, edit and play an animation built exclusively using these tools and how it gets translated to XAML.
Another of the major concepts in XAML is databinding, the subject for this next chapter. We are taught about dependency and attached properties, databinding modes and directions, how to load data from either XML files or our own classes and to bind it to controls. One thing that I think should be here is value converters.
This chapter talks about the graphic shapes of XAML. We learn how to import existing vector files into XAML and how to create custom shapes.
Another hot topic is reusable controls, of the two basic types: user controls and custom controls. We learn about the difference between the two, what they are used for, and create one sample of each.
This chapter is totally dedicated to building Windows Phone 8 apps. It explains the different types of projects, device sizes and resolutions and introduces the Windows Phone Emulator. Then it talks about the requirements that need to be met in order to submit an app to the Windows Store, and how can we test its compliance. Note that only the user interface is covered, not more advanced features of Windows Phone, like sensors, etc.
The final chapter is about building Windows Store Apps. We learn about the different kinds of apps available, how to certify and submit our app to the store.
Like I said, it is a book for beginners, without any knowledge of XAML, and from this perspective, I think it does a decent job. It wouldn’t be possible to cover everything , but some important topics received a fair treatment.
I was again asked by Packt Publishing to review one of their books, this time, it was Automating Microsoft Azure with PowerShell. It came in good time, because I am starting to use Azure more and more, and PowerShell is a timesaver – actually, it is the only way to do lots of things. I have reviewed other books on Azure, which you can find at my blog, here.
The book starts with an introductory chapter, where PowerShell and Azure are introduced, and then goes to the real thing. Not all APIs are covered, namely, Machine Learning, DocumentDB, BizTalk, Stream Analytics, etc, etc, which is not really surprising, since it seems that every month a new service pops out. The book is ~150 pages long, distributed between 10 chapters, which is perfectly acceptable for the amount of topics it covers. The target audience is clearly administrators with little knowledge of Azure.
This chapter offers an introduction to PowerShell and how to install the Azure integration, retrieve subscription files and connecting to Azure. At the end of it we see how to create a blank website using PowerShell.
This one is about storage. It explains about the major storage options that Azure has to offer – Table storage, Blobs, Queues and Files. Basic operations are discussed and we are presented with an example of a backup system.
Next we have a discussion of the APIs available for the management of virtual machines (VMs). We learn how to create the many kinds of VMs existing in the Azure gallery, and performing all the typical operations, including creating snapshots and managing its storage.
In this chapter we learn how to create SQL servers and databases, configuring access to them, executing queries and finally exporting and importing data to and from.
Chapter 5 is about Azure Websites, the old name for Azure Web Apps. We learn how to create websites and how to provision them. Here I got the feeling that a lot is missing.
A short chapter on how to configure virtual networks. Again, a lot more could be said on this.
Azure Traffic Manager is Azure’s load-balancing mechanism. It explains how to configure websites for using the different load balancing techniques and load balancing profiles.
Cloud Services is another way to host VMs. The chapter explains how to create and manage cloud services, roles and endpoints and how retrieve Remote Desktop connection files.
This chapter explains the basics of the Azure Active Directory (AD), the main authoritative source of identities in an Azure virtual network. We learn how to create and configure the basic options of an AD, managing users, groups and password policies. The example at the end of the chapter is about bulk creating users in the AD.
The final chapter talks about one of the automation mechanisms in Azure. We learn how to create an automation account and how to add runbooks to it.
The book is very succinct, and some topics would require substantially more coverage. It does provide some information enough to cover the basic usage of the covered Azure services.
From 30th April, 2015 Packt Publishing has thrown open the
virtual doors of its new Free Learning Library and offering its customers a daily chance to grab a fresh free
eBook from its website. The Free Learning Library will be open all year-round but each title will only
be up for 24 hours, so make sure you keep checking back to get your hands on
the latest book! All you’ll have to do is simply click on the day’s free eBook and it will
instantly be added to your account.
See more information here: http://bit.ly/1EXeiCu.
The first edition was about Entity Framework 5, and a lot has happened since. I would like to ask all of my blog readers that have read Entity Framework Code First Succinctly and are into Entity Framework Code First to send me your comments, corrections or suggestions for the new edition. I will be very thankful!
It wasn’t the first time I did a review on an Azure book, I also reviewed Microsoft Azure Development Cookbook, Second Edition, and you can see my review here.
This time, it is an introductory book, where the reader is introduced to Microsoft Azure, and guided as he/she develops a full solution for an imaginary industrial bakery, from end to end, including a mobile app. It covers technologies such as ASP.NET MVC 5, Windows Phone 8, Entity Framework Code First and Web API, always using C# and .NET as the backing framework. At the end of each chapter, there’s a questions and answers page where we can assess our level of understanding of the topics that were discussed in it.
The first chapter, as we might expect, does an introduction to cloud computing and the Microsoft Azure service, presents a decision framework for aiding in selecting a cloud service as opposed to on-premises, guides the reader in creating an Azure account including it’s many services and costs, and lists the most relevant terms that we will be encountering throughout the book.
Here we are presented with the sample scenario, its objectives and requirements and the architectural vision of it. Different views on the system and its subsystems are presented and for each the technical decisions are explained.
Next we setup the development environment, choose a Visual Studio edition, download the required SDK and create a project to be published in our Azure account. Visual Studio Online is also presented and it’s integration with Azure, namely, in order to ensure continuous integration and delivery.
Here we get an overview of the SQL functionality of Azure, how to create and manage databases using the portal, Visual Studio and the SQL Server Management Studio, then we learn how to use Entity Framework Code First to access and manipulate its data, and to migrate to and from different versions using the Migrations API.
This chapter explains how we can build an MVC application using OAuth authentication (social accounts such as Twitter, Facebook, Google and Microsoft Live). It goes on explaining how we can set up custom domains and SSL certificates for HTTPS and how to integrate the Azure Active Directory for single sign-on and custom permissions.
This one is about diagnosing problems and debugging our applications. It presents the basic built-in tracing and logging features of Azure and how we can obtain this information and goes on to show how we can use table storage and blobs for custom storing of structured logs and its querying. Kudu is briefly introduced and at the end we learn how to do remote debugging.
Next up is Service Bus, Azure’s enterprise service bus service. We learn how to configure it, create and manage topics using the portal and how to use the service from our MVC application and expose it as a service.
The next chapter is about Worker Roles, a feature of Azure Websites that performs disconnected (non web-related) tasks. The reader is guided in creating a Worker Role with Visual Studio, executing it in the Emulator and publishing it to Azure. The example presented builds on the Service Bus topics discussed in the previous chapter. We also learn about other scheduling mechanism of Azure, Scheduler jobs, and implement an example using Queues.
Here we learn about configuring and using the diagnostics features of Cloud Services, again expanding the concepts introduced in chapter 6. We talk about IntelliTrace and Remote Debugging and on how to connect to our virtual machines with Remote Desktop. Finally we are given an example on how to use script tasks to automate common needs.
This chapter introduces ASP.NET Web API, Microsoft’s latest technology for building REST web services and SignalR, for asynchronous, duplex, real-time communication between web clients and the server. The provided example shows how to integrate these two technologies to broadcast messages to connected clients, including a desktop Windows Presentation Framework (WPF) application. In the end we learn how to use the Active Directory to authorize accesses to our services.
Coming closer to the end, this chapter walks the reader on the various aspects of building a mobile client that connects to the cloud using Azure Mobile Services. We see how to implement a mobile-enabled web application and Web API service, how to publish it and how to implement a matching Windows Phone application, fully featured with push notifications. It also guides us on configuring the mobile service with Active Directory for authentication. At the end we are shown how to build a Windows Store app to interact with our application.
The final chapter puts everything in place, explains how to setup different build configurations for different deployment environments and how to build and deliver deployment packages for Azure. At the very end we get a deployment checklist that may come in handy if ever we run into problems.
Overall, I enjoyed reading this book. It doesn’t cover all of Azure, but it does a very decent job in explaining how one can build a real-life application that works and handles most typical concerns, including support for mobile devices.