Demystifying .NET Core and .NET Standard

This post is a summary of the blog post at MSDN.

Introduction to .NET Core

.NET Core: This is the latest .NET implementation. It’s open source and available for multiple OSes. With .NET Core, you can build cross-platform console apps and ASP.NET Core Web applications and cloud services.

.NET Core is a new cross-platform and fully open source .NET implementation that was forked from .NET Framework and Silverlight. It’s optimized for mobile and server workloads by enabling self-contained XCOPY deployments.

Introduction to .NET Standard

.NET Standard: This is the set of fundamental APIs (commonly referred to as base class library or BCL) that all .NET implementations must implement. By targeting .NET Standard, you can build libraries that you can share across all your .NET apps, no matter on which .NET implementation or OS they run.

When you’re building modern experiences, your app often spans multiple form factors and, therefore, multiple .NET implementations. In this day and age, customers pretty much expect that they can use your Web app from their mobile phone and that data can be shared via a cloud-based back end. When using a laptop, they also want to get access via a Web site. And for your own infrastructure, you likely want to use command-line tools and potentially even desktop apps for letting your staff manage the system.

In such an environment, code sharing becomes a major challenge. You need to understand where APIs are available and make sure that shared components only use APIs that are available across all .NET implementations you’re using.

  OS Open Source Purpose
.NET Framework Windows No Used for building Windows desktop applications and ASP.NET Web apps running on IIS.
.NET Core Windows, Linux, macOS Yes Used for building cross-platform console apps and ASP.NET Core Web apps and cloud services.
Xamarin iOS, Android, macOS Yes Used for building mobile applications for iOS and Android, as well as desktop apps for macOS.
.NET Standard N/A Yes Used for building libraries that can be referenced from all .NET implementations, such as .NET Framework, .NET Core and Xamarin.


Full Article - MSDN


Dapper ORM .NET Quick Start

I have been using NHibernate for large corporate projects for a while now, but wanted to leverage a lighter ORM for some personal projects.  I did not want the overhead of configuring NHibernate and wanted something "lighter".

I have heard many developers discuss Dapper. I was interested in looking into it, but I do not like InLine SQL. I would rather use LINQ. On GitHub there is a package called SQLinq for Dapper!

The screen shots below (and ZIP file Download) shows using Dapper with Inline SQL and LINQ over a SQL Server Northwind Database. This project is a console app built in Visual Studio 2015.

If you decided to use this sample project you will need to update your connection string. (To keep this simple I am not documenting the connection method here)

1. Create a Customer Entity

2. Dapper Inline SQL Example

3. Dapper LINQ Sample

4. Console App Results

 Download C# Console App Source