Я хочу получать, обновлять, удалять и вставлять данные в представление. Пока что я могу получать и обновлять данные из представления. Я использую Entity Framework Core 2.1 версии.
Это модель представления:
public partial class vwVacation: IEntity
{
public int EmployeeId { get; private set; }
public string EmployeeName { get; private set; }
public string EmployeeSurName { get; private set; }
public string EmployeeOccupation { get; private set; }
public string EmployeePhone { get; private set; }
public string EmployeeEmail { get; private set; }
public int HeadQuartersId { get; private set; }
public string HeadQuartersName { get; private set; }
public string HeadQuartersCode { get; private set; }
public int VacationId { get; set; }
public int VacationTypeId { get; set; }
public string VacationType{ get; private set; }
[Column("HistoryId")]
public int Id { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int VacationDaysTake{ get; set; }
public bool IsApproved { get; set; }
}
Это код, который я пишу в контексте сущности:
public virtual DbSet<vwVacation> vwVacation{ get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<vwVacation>(entity =>
{
entity.HasKey(e => e.Id);
entity.Property(e => e.EndDate).HasColumnType("datetime");
entity.Property(e => e.StartDate).HasColumnType("datetime");
entity.Property(e => e.IsApproved)
.HasColumnType("bit")
.HasDefaultValueSql("('0')");
entity.ToTable("vwVacation");
entity.Property(e => e.EmployeeId)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
entity.Property(e => e.EmployeeName)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
entity.Property(e => e.EmployeeSurName)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
entity.Property(e => e.EmployeeOccupation)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
entity.Property(e => e.EmployeePhone)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
entity.Property(e => e.EmployeeEmail)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
entity.Property(e => e.HeadQuartersId)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
entity.Property(e => e.HeadQuartersName)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
entity.Property(e => e.HeadQuartersCode)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
entity.Property(e => e.VacationType)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Throw;
});
}
Что мне нужно сделать, чтобы вставить данные в мое представление, и структура сущности знает, какой столбец предназначен для вставки, а какой - только для чтения?