Add validation
This commit is contained in:
@@ -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>();
|
||||
}
|
||||
@@ -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; }
|
||||
Reference in New Issue
Block a user