Introduce VwmyCatalog as a keyless entity mapped to the VWMY_CATALOG database view. Update ApplicationDbContext to include the new DbSet and configure its mapping. Modify CatalogRepository to query the view instead of the table for GetAllAsync and GetByIdAsync. Add AutoMapper configuration for VwmyCatalog to Catalog. Add the VwmyCatalog entity class.
89 lines
3.0 KiB
C#
89 lines
3.0 KiB
C#
using DbFirst.Infrastructure.ScaffoldEntities;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace DbFirst.Infrastructure;
|
|
|
|
public partial class ApplicationDbContext : DbContext
|
|
{
|
|
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
|
|
: base(options)
|
|
{
|
|
}
|
|
|
|
public virtual DbSet<TbmyCatalog> TbmyCatalogs { get; set; }
|
|
public virtual DbSet<VwmyCatalog> VwmyCatalogs { get; set; }
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<TbmyCatalog>(entity =>
|
|
{
|
|
entity.HasKey(e => e.Guid);
|
|
|
|
entity.ToTable("TBMY_CATALOG");
|
|
|
|
entity.HasIndex(e => e.CatTitle, "UQ_TBMY_CATALOG_TITLE").IsUnique();
|
|
|
|
entity.Property(e => e.Guid).HasColumnName("GUID");
|
|
entity.Property(e => e.AddedWhen)
|
|
.HasDefaultValueSql("(getdate())")
|
|
.HasColumnType("datetime")
|
|
.HasColumnName("ADDED_WHEN");
|
|
entity.Property(e => e.AddedWho)
|
|
.HasMaxLength(30)
|
|
.IsUnicode(false)
|
|
.HasDefaultValue("SYSTEM")
|
|
.HasColumnName("ADDED_WHO");
|
|
entity.Property(e => e.CatString)
|
|
.HasMaxLength(900)
|
|
.IsUnicode(false)
|
|
.HasColumnName("CAT_STRING");
|
|
entity.Property(e => e.CatTitle)
|
|
.HasMaxLength(100)
|
|
.IsUnicode(false)
|
|
.HasColumnName("CAT_TITLE");
|
|
entity.Property(e => e.ChangedWhen)
|
|
.HasColumnType("datetime")
|
|
.HasColumnName("CHANGED_WHEN");
|
|
entity.Property(e => e.ChangedWho)
|
|
.HasMaxLength(30)
|
|
.IsUnicode(false)
|
|
.HasColumnName("CHANGED_WHO");
|
|
});
|
|
|
|
modelBuilder.Entity<VwmyCatalog>(entity =>
|
|
{
|
|
entity.HasNoKey();
|
|
|
|
entity.ToView("VWMY_CATALOG");
|
|
|
|
entity.Property(e => e.Guid).HasColumnName("GUID");
|
|
entity.Property(e => e.AddedWho)
|
|
.HasMaxLength(30)
|
|
.IsUnicode(false)
|
|
.HasColumnName("ADDED_WHO");
|
|
entity.Property(e => e.AddedWhen)
|
|
.HasColumnType("datetime")
|
|
.HasColumnName("ADDED_WHEN");
|
|
entity.Property(e => e.CatString)
|
|
.HasMaxLength(900)
|
|
.IsUnicode(false)
|
|
.HasColumnName("CAT_STRING");
|
|
entity.Property(e => e.CatTitle)
|
|
.HasMaxLength(100)
|
|
.IsUnicode(false)
|
|
.HasColumnName("CAT_TITLE");
|
|
entity.Property(e => e.ChangedWhen)
|
|
.HasColumnType("datetime")
|
|
.HasColumnName("CHANGED_WHEN");
|
|
entity.Property(e => e.ChangedWho)
|
|
.HasMaxLength(30)
|
|
.IsUnicode(false)
|
|
.HasColumnName("CHANGED_WHO");
|
|
});
|
|
|
|
OnModelCreatingPartial(modelBuilder);
|
|
}
|
|
|
|
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
|
|
}
|