Add validation

This commit is contained in:
TheXamlGuy
2024-07-07 20:09:03 +01:00
parent 015af41fc8
commit 75bdd275c9
16 changed files with 142 additions and 104 deletions
@@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Wallet.Data;
[Table("Blobs")]
public record BlobEntry
public record BlobEntity
{
public byte[]? Data { get; set; }
@@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Wallet.Data;
[Table("Items")]
public record ItemEntry
public record ItemEntity
{
[Key]
public Guid Id { get; set; }
@@ -17,11 +17,11 @@ public record ItemEntry
public Guid? ImageId { get; set; }
public BlobEntry? Image { get; set; }
public BlobEntity? Image { get; set; }
public required string Category { get; set; }
public ICollection<TagEntry> Tags { get; set; } = new List<TagEntry>();
public ICollection<TagEntity> Tags { get; set; } = new List<TagEntity>();
public ICollection<BlobEntry> Blobs { get; set; } = new List<BlobEntry>();
public ICollection<BlobEntity> Blobs { get; set; } = new List<BlobEntity>();
}
+9 -9
View File
@@ -6,11 +6,11 @@ public interface IConnection;
public class WalletContext(IConnection connection) : DbContext
{
public DbSet<BlobEntry> Blobs { get; set; }
public DbSet<BlobEntity> Blobs { get; set; }
public DbSet<ItemEntry> Items { get; set; }
public DbSet<ItemEntity> Items { get; set; }
public DbSet<TagEntry> Tags { get; set; }
public DbSet<TagEntity> Tags { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
@@ -19,27 +19,27 @@ public class WalletContext(IConnection connection) : DbContext
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ItemEntry>()
modelBuilder.Entity<ItemEntity>()
.HasKey(x => x.Id);
modelBuilder.Entity<ItemEntry>()
modelBuilder.Entity<ItemEntity>()
.HasMany(x => x.Tags)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<ItemEntry>()
modelBuilder.Entity<ItemEntity>()
.HasMany(x => x.Blobs)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<ItemEntry>().
modelBuilder.Entity<ItemEntity>().
HasOne(i => i.Image)
.WithOne()
.HasForeignKey<ItemEntry>(i => i.ImageId)
.HasForeignKey<ItemEntity>(i => i.ImageId)
.IsRequired(false)
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<BlobEntry>()
modelBuilder.Entity<BlobEntity>()
.HasKey(x => x.Id);
}
}
@@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Wallet.Data;
[Table("Tags")]
public class TagEntry
public class TagEntity
{
[Key]
public Guid Id { get; set; }