Entity Framework Basics
This commit is contained in:
@ -0,0 +1,64 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Linq;
|
||||
|
||||
namespace EntityFrameworkBasics.Controllers
|
||||
{
|
||||
public class HomeController : Controller
|
||||
{
|
||||
#region Protected Members
|
||||
|
||||
/// <summary>
|
||||
/// The scoped Application context
|
||||
/// </summary>
|
||||
protected ApplicationDbContext mContext;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
|
||||
/// <summary>
|
||||
/// Default constructor
|
||||
/// </summary>
|
||||
/// <param name="context">The injected context</param>
|
||||
public HomeController(ApplicationDbContext context)
|
||||
{
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public IActionResult Index()
|
||||
{
|
||||
// Make sure we have the database
|
||||
mContext.Database.EnsureCreated();
|
||||
|
||||
// If we have no settings already...
|
||||
if (!mContext.Settings.Any())
|
||||
{
|
||||
// Add a new setting
|
||||
mContext.Settings.Add(new SettingsDataModel
|
||||
{
|
||||
Name = "BackgroundColor",
|
||||
Value = "Red"
|
||||
});
|
||||
|
||||
// Check to show the new setting is currently only local and not in the database
|
||||
var settingsLocally = mContext.Settings.Local.Count();
|
||||
var settingsDatabase = mContext.Settings.Count();
|
||||
var firstLocal = mContext.Settings.Local.FirstOrDefault();
|
||||
var firstDatabase = mContext.Settings.FirstOrDefault();
|
||||
|
||||
// Commit setting to database
|
||||
mContext.SaveChanges();
|
||||
|
||||
// Recheck to show its now in local and the actual database
|
||||
settingsLocally = mContext.Settings.Local.Count();
|
||||
settingsDatabase = mContext.Settings.Count();
|
||||
firstLocal = mContext.Settings.Local.FirstOrDefault();
|
||||
firstDatabase = mContext.Settings.FirstOrDefault();
|
||||
}
|
||||
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user