Select theme:
This guide demonstrates how to extend model with additional property.
You can extend your table class with additional, not-mapped properties. For example you can add ExtendedPrice to Northwind OrderDetails (SQL Table) from OrderDetailsExtended (SQL View) using partial classes:
1. Add Northwind OrderDetails partial class with ExtendedPrice property
OrderDetail.Custom.cs
public partial class OrderDetail
{
// Additional property
[NotMapped]
public decimal? ExtendedPrice
{
get;
set;
}
}
2. Populate ExtendedPrice from OrderDetailsExtended using OnOrderDetailsRead
partial method in NorthwindService
partial class
serverServicesNorthwindService.Custom.cs
using SampleBlazor.Models.Northwind;
using System.Linq;
namespace SampleBlazor
{
public partial class NorthwindService
{
partial void OnOrderDetailsRead(ref IQueryable<OrderDetail> items)
{
var orderDetailsExtended = this.context.OrderDetailsExtendeds.ToList();
// Populate additional property
foreach (var item in items)
{
var orderDetailExtended = orderDetailsExtended
.Where(ode => ode.OrderID == item.OrderID && ode.ProductID == item.ProductID)
.FirstOrDefault();
if (orderDetailExtended != null)
{
item.ExtendedPrice = orderDetailExtended.ExtendedPrice;
}
}
}
}
}
3. Create new page, bind DataGrid component to Northwind OrderDetails and add additional column bound to ExtendedPrice property (not available in intellisense)
4. Run the application
Radzen is free to use. You can also test the premium features for 15 days.
Download NowSelect theme: