Update EF provider
This commit is contained in:
parent
6a6edde7de
commit
26ee6b10a7
|
|
@ -54,6 +54,7 @@ namespace Elsa.Persistence.EntityFrameworkCore.DbContexts
|
|||
ConfigureActivityDefinition(modelBuilder);
|
||||
ConfigureActivityInstance(modelBuilder);
|
||||
ConfigureBlockingActivity(modelBuilder);
|
||||
ConfigureScheduledActivity(modelBuilder);
|
||||
ConfigureConnectionDefinition(modelBuilder);
|
||||
}
|
||||
|
||||
|
|
@ -78,6 +79,7 @@ namespace Elsa.Persistence.EntityFrameworkCore.DbContexts
|
|||
modelBuilder.ApplyConfiguration(new SchemaEntityTypeConfiguration<ActivityDefinitionEntity>(DbContextCustomSchema));
|
||||
modelBuilder.ApplyConfiguration(new SchemaEntityTypeConfiguration<ActivityInstanceEntity>(DbContextCustomSchema));
|
||||
modelBuilder.ApplyConfiguration(new SchemaEntityTypeConfiguration<BlockingActivityEntity>(DbContextCustomSchema));
|
||||
modelBuilder.ApplyConfiguration(new SchemaEntityTypeConfiguration<ScheduledActivityEntity>(DbContextCustomSchema));
|
||||
modelBuilder.ApplyConfiguration(new SchemaEntityTypeConfiguration<ConnectionDefinitionEntity>(DbContextCustomSchema));
|
||||
modelBuilder.ApplyConfiguration(new SchemaEntityTypeConfiguration<WorkflowDefinitionVersionEntity>(DbContextCustomSchema));
|
||||
modelBuilder.ApplyConfiguration(new SchemaEntityTypeConfiguration<WorkflowInstanceEntity>(DbContextCustomSchema));
|
||||
|
|
@ -128,11 +130,8 @@ namespace Elsa.Persistence.EntityFrameworkCore.DbContexts
|
|||
.WithOne(x => x.WorkflowInstance);
|
||||
|
||||
entity
|
||||
.Property(x => x.ScheduledActivities)
|
||||
.HasConversion(
|
||||
x => Serialize(x),
|
||||
x => Deserialize<Stack<string>>(x)
|
||||
);
|
||||
.HasMany(x => x.ScheduledActivities)
|
||||
.WithOne(x => x.WorkflowInstance);
|
||||
}
|
||||
|
||||
private void ConfigureActivityDefinition(ModelBuilder modelBuilder)
|
||||
|
|
@ -143,7 +142,7 @@ namespace Elsa.Persistence.EntityFrameworkCore.DbContexts
|
|||
|
||||
entity
|
||||
.Property(x => x.State)
|
||||
.HasConversion(x => Serialize(x), x => Deserialize<JObject>(x));
|
||||
.HasConversion(x => Serialize(x), x => Deserialize<Variables>(x));
|
||||
}
|
||||
|
||||
private void ConfigureConnectionDefinition(ModelBuilder modelBuilder)
|
||||
|
|
@ -161,11 +160,11 @@ namespace Elsa.Persistence.EntityFrameworkCore.DbContexts
|
|||
|
||||
entity
|
||||
.Property(x => x.State)
|
||||
.HasConversion(x => Serialize(x), x => Deserialize<JObject>(x));
|
||||
.HasConversion(x => Serialize(x), x => Deserialize<Variables>(x));
|
||||
|
||||
entity
|
||||
.Property(x => x.Output)
|
||||
.HasConversion(x => Serialize(x), x => Deserialize<JObject>(x));
|
||||
.HasConversion(x => Serialize(x), x => Deserialize<Variables>(x));
|
||||
}
|
||||
|
||||
private void ConfigureBlockingActivity(ModelBuilder modelBuilder)
|
||||
|
|
@ -174,6 +173,17 @@ namespace Elsa.Persistence.EntityFrameworkCore.DbContexts
|
|||
|
||||
entity.HasKey(x => x.Id);
|
||||
}
|
||||
|
||||
private void ConfigureScheduledActivity(ModelBuilder modelBuilder)
|
||||
{
|
||||
var entity = modelBuilder.Entity<ScheduledActivityEntity>();
|
||||
|
||||
entity.HasKey(x => x.Id);
|
||||
|
||||
entity
|
||||
.Property(x => x.Input)
|
||||
.HasConversion(x => Serialize(x), x => Deserialize<Variable>(x));
|
||||
}
|
||||
|
||||
private string Serialize(object value)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
using Elsa.Models;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace Elsa.Persistence.EntityFrameworkCore.Entities
|
||||
|
|
@ -10,6 +11,6 @@ namespace Elsa.Persistence.EntityFrameworkCore.Entities
|
|||
public string Type { get; set; }
|
||||
public int Left { get; set; }
|
||||
public int Top { get; set; }
|
||||
public JObject State { get; set; }
|
||||
public Variables State { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
using Elsa.Models;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace Elsa.Persistence.EntityFrameworkCore.Entities
|
||||
|
|
@ -8,7 +9,7 @@ namespace Elsa.Persistence.EntityFrameworkCore.Entities
|
|||
public string ActivityId { get; set; }
|
||||
public WorkflowInstanceEntity WorkflowInstance { get; set; }
|
||||
public string Type { get; set; }
|
||||
public JObject State { get; set; }
|
||||
public JObject Output { get; set; }
|
||||
public Variables State { get; set; }
|
||||
public Variables Output { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
using Elsa.Models;
|
||||
|
||||
namespace Elsa.Persistence.EntityFrameworkCore.Entities
|
||||
{
|
||||
public class ScheduledActivityEntity
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public WorkflowInstanceEntity WorkflowInstance { get; set; }
|
||||
public string ActivityId { get; set; }
|
||||
public Variable? Input { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -23,6 +23,6 @@ namespace Elsa.Persistence.EntityFrameworkCore.Entities
|
|||
public WorkflowFault Fault { get; set; }
|
||||
public ICollection<ActivityInstanceEntity> Activities { get; set; }
|
||||
public ICollection<BlockingActivityEntity> BlockingActivities { get; set; }
|
||||
public Stack<string> ScheduledActivities { get; set; }
|
||||
public Stack<ScheduledActivityEntity> ScheduledActivities { get; set; }
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue