修改计算列

This commit is contained in:
2022-04-21 15:01:53 +08:00
parent fca6be727c
commit 6d5f73a415
4 changed files with 50 additions and 15 deletions
@@ -0,0 +1,31 @@
using System;
using IRaCIS.Core.Domain.Models;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using Microsoft.EntityFrameworkCore.ValueGeneration;
namespace IRaCIS.Core.Infra.EFCore.ValueGenerator
{
public class UploadTotalMillisecondsInterval : ValueGenerator<int>
{
//code first must migration dbfirst must config in db and also need config in code
//modelBuilder.Entity<StudyMonitor>().Property(e => e.TotalMillisecondsInterval).HasComputedColumnSql("datediff(MS,UploadStartTime,UploadFinishedTime)");
//modelBuilder.Entity<StudyMonitor>().Property(e => e.TestInterval).ValueGeneratedOnAddOrUpdate().HasDefaultValueSql("datediff(MS,UploadStartTime,UploadFinishedTime)");
public override int Next(EntityEntry entry)
{
if (entry.Entity is StudyMonitor entity)
{
return (entity.UploadFinishedTime - entity.UploadStartTime).Milliseconds;
}
else
{
throw new ArgumentException("ValueGenerator用在了不适合的实体");
}
}
public override bool GeneratesTemporaryValues => false;
}
}