How to add Entity Framework column value depends from other column value?

195 Views Asked by At

I use entity framework core, generate migrations based on DbContext. One of my entity in database is:

class Metadata
{
    public int Id { get; set }
    public DateTime StartDate { get; set; }
    public DateTime EndData { get; set; }
}

Valid case id EndDate > StartDate How to configure values dependency in EntityFramework builder:

public class MetadataConfiguration : IEntityTypeConfiguration<Metadata>
{
    public void Configure(EntityTypeBuilder<Metadata> builder)
    {...}
}

Required condition is

StartDate <= EndDate
1

There are 1 best solutions below

1
On

Just use the Foolproof validation library that is available on Codeplex:

https://foolproof.codeplex.com/

It supports validation attributes:

[Is]
[EqualTo]
[NotEqualTo]
[GreaterThan]
[LessThan]
[GreaterThanOrEqualTo]
[LessThanOrEqualTo] 

-

[Required]
[GreaterThan("StartDate" , ErrorMessage="your message")]
public DateTime EndDate { get; set; }