Skip to content

Instantly share code, notes, and snippets.

public class OrderHeader
{
public string CustomerName { get; set; }
public DateTime DateCreated { get; set; }
public int TotalItems { get; set; }
public decimal TotalPrice { get; set; }
}
public class SampleContext : DbContext
{
public DbSet<Order> Orders { get; set; }
public DbSet<OrderItem> OrderItems { get; set; }
public DbSet<Customer> Customers { get; set; }
public DbQuery<OrderHeader> OrderHeaders { get; set; }
...
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Query<OrderHeader>().ToView("OrderHeaders");
}
public class SampleContext : DbContext
{
public DbSet<Order> Orders { get; set; }
public DbSet<OrderItem> OrderItems { get; set; }
public DbSet<Customer> Customers { get; set; }
public DbQuery<OrderHeader> OrderHeaders { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
public class BasePageModel : PageModel
{
public bool Found { get; set; }
}
public class CustomPageFilter : IAsyncPageFilter
{
public async Task OnPageHandlerSelectionAsync(PageHandlerSelectedContext context)
{
var instance = context.HandlerInstance;
if (instance.GetType().BaseType == typeof(BasePageModel))
{
((BasePageModel)instance).Found = true;
}
await Task.CompletedTask;
public class CustomPageFilterAttribute : ResultFilterAttribute
{
public override async Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next)
{
var result = context.Result;
if (result is PageResult)
{
var model = ((PageResult)result).Model;
if (model.GetType().BaseType == typeof(BasePageModel))
{
@using WebApplication1
@namespace WebApplication1.Areas.Customers.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@page
@model IndexModel
@{
}
<h1>Customers Area</h1>
<ul class="nav navbar-nav">
<li><a asp-page="/index" asp-area="Customers">Customers</a></li>
<li><a asp-page="/index" asp-area="Orders">Orders</a></li>
<li><a asp-page="/index" asp-area="Products">Products</a></li>
</ul>