diff --git a/Aaru.CommonTypes b/Aaru.CommonTypes
index 843d3d5d5..8e3ef9dfe 160000
--- a/Aaru.CommonTypes
+++ b/Aaru.CommonTypes
@@ -1 +1 @@
-Subproject commit 843d3d5d56bd8ba35db7a74fd339e709ad798b21
+Subproject commit 8e3ef9dfe1920aa359f2d07db60b2f9824095ea9
diff --git a/Aaru.Core/Remote.cs b/Aaru.Core/Remote.cs
index ee75851c3..85195d0a7 100644
--- a/Aaru.Core/Remote.cs
+++ b/Aaru.Core/Remote.cs
@@ -271,17 +271,52 @@ namespace Aaru.Core
});
AaruConsole.WriteLine("Added {0} known devices", sync.Devices.Count);
+
+ AnsiConsole.Progress().AutoClear(true).HideCompleted(true).
+ Columns(new TaskDescriptionColumn(), new ProgressBarColumn(), new PercentageColumn()).
+ Start(ctx =>
+ {
+ ProgressTask task = ctx.AddTask("Adding known iNES/NES 2.0 headers");
+ task.MaxValue = sync.NesHeaders.Count;
+
+ foreach(NesHeaderDto header in sync.NesHeaders)
+ {
+ task.Increment(1);
+
+ mctx.NesHeaders.Add(new NesHeaderInfo
+ {
+ Id = header.Id,
+ AddedWhen = DateTime.UtcNow,
+ BatteryPresent = header.BatteryPresent,
+ ConsoleType = header.ConsoleType,
+ DefaultExpansionDevice = header.DefaultExpansionDevice,
+ ExtendedConsoleType = header.ExtendedConsoleType,
+ FourScreenMode = header.FourScreenMode,
+ Mapper = header.Mapper,
+ ModifiedWhen = DateTime.UtcNow,
+ NametableMirroring = header.NametableMirroring,
+ Sha256 = header.Sha256,
+ Submapper = header.Submapper,
+ VsHardwareType = header.VsHardwareType,
+ VsPpuType = header.VsPpuType
+ });
+ }
+ });
+
+ AaruConsole.WriteLine("Added {0} known iNES/NES 2.0 headers", sync.NesHeaders.Count);
}
else
{
- long addedVendors = 0;
- long addedProducts = 0;
- long addedOffsets = 0;
- long addedDevices = 0;
- long modifiedVendors = 0;
- long modifiedProducts = 0;
- long modifiedOffsets = 0;
- long modifiedDevices = 0;
+ long addedVendors = 0;
+ long addedProducts = 0;
+ long addedOffsets = 0;
+ long addedDevices = 0;
+ long addedNesHeaders = 0;
+ long modifiedVendors = 0;
+ long modifiedProducts = 0;
+ long modifiedOffsets = 0;
+ long modifiedDevices = 0;
+ long modifiedNesHeaders = 0;
AnsiConsole.Progress().AutoClear(true).HideCompleted(true).
Columns(new TaskDescriptionColumn(), new ProgressBarColumn(), new PercentageColumn()).
@@ -431,6 +466,73 @@ namespace Aaru.Core
AaruConsole.WriteLine("Added {0} known devices", addedDevices);
AaruConsole.WriteLine("Modified {0} known devices", modifiedDevices);
+
+ AnsiConsole.Progress().AutoClear(true).HideCompleted(true).
+ Columns(new TaskDescriptionColumn(), new ProgressBarColumn(), new PercentageColumn()).
+ Start(ctx =>
+ {
+ ProgressTask task = ctx.AddTask("Updating known iNES/NES 2.0 headers");
+ task.MaxValue = sync.Offsets.Count;
+
+ foreach(NesHeaderDto header in sync.NesHeaders)
+ {
+ task.Increment(1);
+ NesHeaderInfo existing = mctx.NesHeaders.FirstOrDefault(d => d.Id == header.Id);
+
+ if(existing != null)
+ {
+ modifiedNesHeaders++;
+ DateTime addedDate = existing.AddedWhen;
+
+ mctx.Remove(existing);
+
+ existing = new NesHeaderInfo
+ {
+ Id = header.Id,
+ AddedWhen = addedDate,
+ BatteryPresent = header.BatteryPresent,
+ ConsoleType = header.ConsoleType,
+ DefaultExpansionDevice = header.DefaultExpansionDevice,
+ ExtendedConsoleType = header.ExtendedConsoleType,
+ FourScreenMode = header.FourScreenMode,
+ Mapper = header.Mapper,
+ ModifiedWhen = DateTime.UtcNow,
+ NametableMirroring = header.NametableMirroring,
+ Sha256 = header.Sha256,
+ Submapper = header.Submapper,
+ VsHardwareType = header.VsHardwareType,
+ VsPpuType = header.VsPpuType
+ };
+
+ mctx.NesHeaders.Add(existing);
+ }
+ else
+ {
+ addedNesHeaders++;
+
+ mctx.NesHeaders.Add(new NesHeaderInfo
+ {
+ Id = header.Id,
+ AddedWhen = DateTime.UtcNow,
+ BatteryPresent = header.BatteryPresent,
+ ConsoleType = header.ConsoleType,
+ DefaultExpansionDevice = header.DefaultExpansionDevice,
+ ExtendedConsoleType = header.ExtendedConsoleType,
+ FourScreenMode = header.FourScreenMode,
+ Mapper = header.Mapper,
+ ModifiedWhen = DateTime.UtcNow,
+ NametableMirroring = header.NametableMirroring,
+ Sha256 = header.Sha256,
+ Submapper = header.Submapper,
+ VsHardwareType = header.VsHardwareType,
+ VsPpuType = header.VsPpuType
+ });
+ }
+ }
+ });
+
+ AaruConsole.WriteLine("Added {0} known iNES/NES 2.0 headers", addedDevices);
+ AaruConsole.WriteLine("Modified {0} known iNES/NES 2.0 headers", modifiedDevices);
}
}
catch(Exception ex)
diff --git a/Aaru.Database/Aaru.Database.csproj b/Aaru.Database/Aaru.Database.csproj
index 8181b7eec..1840f0502 100644
--- a/Aaru.Database/Aaru.Database.csproj
+++ b/Aaru.Database/Aaru.Database.csproj
@@ -137,6 +137,8 @@
+
+
@@ -149,6 +151,7 @@
+
diff --git a/Aaru.Database/Context.cs b/Aaru.Database/Context.cs
index c9643af7e..cb5ea84d8 100644
--- a/Aaru.Database/Context.cs
+++ b/Aaru.Database/Context.cs
@@ -33,212 +33,215 @@
using Aaru.Database.Models;
using Microsoft.EntityFrameworkCore;
-namespace Aaru.Database
+namespace Aaru.Database;
+
+///
+/// Database context
+public sealed class AaruContext : DbContext
{
///
- /// Database context
- public sealed class AaruContext : DbContext
+ /// Creates a database context with the specified options
+ /// Options
+ public AaruContext(DbContextOptions options) : base(options) {}
+
+ /// List of known devices
+ public DbSet Devices { get; set; }
+ /// List of local device reports
+ public DbSet Reports { get; set; }
+ /// Command usage statistics
+ public DbSet Commands { get; set; }
+ /// Statistics for found filesystems
+ public DbSet Filesystems { get; set; }
+ /// Statistics for used filters
+ public DbSet Filters { get; set; }
+ /// Statistics for media image formats
+ public DbSet MediaFormats { get; set; }
+ /// Statistics for partitioning schemes
+ public DbSet Partitions { get; set; }
+ /// Statistics for media types
+ public DbSet Medias { get; set; }
+ /// Statistics for devices seen using commands
+ public DbSet SeenDevices { get; set; }
+ /// Statistics for operating systems
+ public DbSet OperatingSystems { get; set; }
+ /// Statistics for used Aaru versions
+ public DbSet Versions { get; set; }
+ /// List of known USB vendors
+ public DbSet UsbVendors { get; set; }
+ /// List of known USB products
+ public DbSet UsbProducts { get; set; }
+ /// List of CD reading offsets
+ public DbSet CdOffsets { get; set; }
+ /// Statistics of remote applications
+ public DbSet RemoteApplications { get; set; }
+ /// Statistics of remote architectures
+ public DbSet RemoteArchitectures { get; set; }
+ /// Statistics of remote operating systems
+ public DbSet RemoteOperatingSystems { get; set; }
+ /// Known iNES/NES 2.0 headers
+ public DbSet NesHeaders { get; set; }
+
+ // Note: If table does not appear check that last migration has been REALLY added to the project
+
+ /// Creates a database context with the database in the specified path
+ /// Path to database file
+ /// Database context
+ public static AaruContext Create(string dbPath)
{
- ///
- /// Creates a database context with the specified options
- /// Options
- public AaruContext(DbContextOptions options) : base(options) {}
+ var optionsBuilder = new DbContextOptionsBuilder();
+ optionsBuilder.UseLazyLoadingProxies().UseSqlite($"Data Source={dbPath}");
- /// List of known devices
- public DbSet Devices { get; set; }
- /// List of local device reports
- public DbSet Reports { get; set; }
- /// Command usage statistics
- public DbSet Commands { get; set; }
- /// Statistics for found filesystems
- public DbSet Filesystems { get; set; }
- /// Statistics for used filters
- public DbSet Filters { get; set; }
- /// Statistics for media image formats
- public DbSet MediaFormats { get; set; }
- /// Statistics for partitioning schemes
- public DbSet Partitions { get; set; }
- /// Statistics for media types
- public DbSet Medias { get; set; }
- /// Statistics for devices seen using commands
- public DbSet SeenDevices { get; set; }
- /// Statistics for operating systems
- public DbSet OperatingSystems { get; set; }
- /// Statistics for used Aaru versions
- public DbSet Versions { get; set; }
- /// List of known USB vendors
- public DbSet UsbVendors { get; set; }
- /// List of known USB products
- public DbSet UsbProducts { get; set; }
- /// List of CD reading offsets
- public DbSet CdOffsets { get; set; }
- /// Statistics of remote applications
- public DbSet RemoteApplications { get; set; }
- /// Statistics of remote architectures
- public DbSet RemoteArchitectures { get; set; }
- /// Statistics of remote operating systems
- public DbSet RemoteOperatingSystems { get; set; }
+ return new AaruContext(optionsBuilder.Options);
+ }
- // Note: If table does not appear check that last migration has been REALLY added to the project
+ ///
+ protected override void OnModelCreating(ModelBuilder modelBuilder)
+ {
+ base.OnModelCreating(modelBuilder);
- /// Creates a database context with the database in the specified path
- /// Path to database file
- /// Database context
- public static AaruContext Create(string dbPath)
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Ata",
+ b => b.HasOne("Aaru.CommonTypes.Metadata.TestedMedia", "ReadCapabilities").WithMany().
+ HasForeignKey("ReadCapabilitiesId").OnDelete(DeleteBehavior.SetNull));
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.BlockDescriptor",
+ b => b.HasOne("Aaru.CommonTypes.Metadata.ScsiMode", null).WithMany("BlockDescriptors").
+ HasForeignKey("ScsiModeId").OnDelete(DeleteBehavior.Cascade));
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.DensityCode",
+ b => b.HasOne("Aaru.CommonTypes.Metadata.SscSupportedMedia", null).WithMany("DensityCodes").
+ HasForeignKey("SscSupportedMediaId").OnDelete(DeleteBehavior.Cascade));
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Mmc",
+ b => b.HasOne("Aaru.CommonTypes.Metadata.MmcFeatures", "Features").WithMany().
+ HasForeignKey("FeaturesId").OnDelete(DeleteBehavior.SetNull));
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Scsi", b =>
{
- var optionsBuilder = new DbContextOptionsBuilder();
- optionsBuilder.UseLazyLoadingProxies().UseSqlite($"Data Source={dbPath}");
+ b.HasOne("Aaru.CommonTypes.Metadata.ScsiMode", "ModeSense").WithMany().HasForeignKey("ModeSenseId").
+ OnDelete(DeleteBehavior.SetNull);
- return new AaruContext(optionsBuilder.Options);
- }
+ b.HasOne("Aaru.CommonTypes.Metadata.Mmc", "MultiMediaDevice").WithMany().
+ HasForeignKey("MultiMediaDeviceId").OnDelete(DeleteBehavior.SetNull);
- ///
- protected override void OnModelCreating(ModelBuilder modelBuilder)
+ b.HasOne("Aaru.CommonTypes.Metadata.TestedMedia", "ReadCapabilities").WithMany().
+ HasForeignKey("ReadCapabilitiesId").OnDelete(DeleteBehavior.SetNull);
+
+ b.HasOne("Aaru.CommonTypes.Metadata.Ssc", "SequentialDevice").WithMany().
+ HasForeignKey("SequentialDeviceId").OnDelete(DeleteBehavior.SetNull);
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.ScsiPage", b =>
{
- base.OnModelCreating(modelBuilder);
+ b.HasOne("Aaru.CommonTypes.Metadata.Scsi", null).WithMany("EVPDPages").HasForeignKey("ScsiId").
+ OnDelete(DeleteBehavior.SetNull);
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.Ata",
- b => b.HasOne("Aaru.CommonTypes.Metadata.TestedMedia", "ReadCapabilities").WithMany().
- HasForeignKey("ReadCapabilitiesId").OnDelete(DeleteBehavior.SetNull));
+ b.HasOne("Aaru.CommonTypes.Metadata.ScsiMode", null).WithMany("ModePages").HasForeignKey("ScsiModeId").
+ OnDelete(DeleteBehavior.SetNull);
+ });
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.BlockDescriptor",
- b => b.HasOne("Aaru.CommonTypes.Metadata.ScsiMode", null).WithMany("BlockDescriptors").
- HasForeignKey("ScsiModeId").OnDelete(DeleteBehavior.Cascade));
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.SscSupportedMedia", b =>
+ {
+ b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null).WithMany("SupportedMediaTypes").HasForeignKey("SscId").
+ OnDelete(DeleteBehavior.SetNull);
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.DensityCode",
- b => b.HasOne("Aaru.CommonTypes.Metadata.SscSupportedMedia", null).
- WithMany("DensityCodes").HasForeignKey("SscSupportedMediaId").
- OnDelete(DeleteBehavior.Cascade));
+ b.HasOne("Aaru.CommonTypes.Metadata.TestedSequentialMedia", null).WithMany("SupportedMediaTypes").
+ HasForeignKey("TestedSequentialMediaId").OnDelete(DeleteBehavior.SetNull);
+ });
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.Mmc",
- b => b.HasOne("Aaru.CommonTypes.Metadata.MmcFeatures", "Features").WithMany().
- HasForeignKey("FeaturesId").OnDelete(DeleteBehavior.SetNull));
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.SupportedDensity", b =>
+ {
+ b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null).WithMany("SupportedDensities").HasForeignKey("SscId").
+ OnDelete(DeleteBehavior.Cascade);
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.Scsi", b =>
- {
- b.HasOne("Aaru.CommonTypes.Metadata.ScsiMode", "ModeSense").WithMany().HasForeignKey("ModeSenseId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.TestedSequentialMedia", null).WithMany("SupportedDensities").
+ HasForeignKey("TestedSequentialMediaId").OnDelete(DeleteBehavior.Cascade);
+ });
- b.HasOne("Aaru.CommonTypes.Metadata.Mmc", "MultiMediaDevice").WithMany().
- HasForeignKey("MultiMediaDeviceId").OnDelete(DeleteBehavior.SetNull);
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.TestedMedia", b =>
+ {
+ b.HasOne("Aaru.CommonTypes.Metadata.Ata", null).WithMany("RemovableMedias").HasForeignKey("AtaId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.TestedMedia", "ReadCapabilities").WithMany().
- HasForeignKey("ReadCapabilitiesId").OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.Chs", "CHS").WithMany().HasForeignKey("CHSId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.Ssc", "SequentialDevice").WithMany().
- HasForeignKey("SequentialDeviceId").OnDelete(DeleteBehavior.SetNull);
- });
+ b.HasOne("Aaru.CommonTypes.Metadata.Chs", "CurrentCHS").WithMany().HasForeignKey("CurrentCHSId").
+ OnDelete(DeleteBehavior.SetNull);
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.ScsiPage", b =>
- {
- b.HasOne("Aaru.CommonTypes.Metadata.Scsi", null).WithMany("EVPDPages").HasForeignKey("ScsiId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.Mmc", null).WithMany("TestedMedia").HasForeignKey("MmcId").
+ OnDelete(DeleteBehavior.Cascade);
- b.HasOne("Aaru.CommonTypes.Metadata.ScsiMode", null).WithMany("ModePages").HasForeignKey("ScsiModeId").
- OnDelete(DeleteBehavior.SetNull);
- });
+ b.HasOne("Aaru.CommonTypes.Metadata.Scsi", null).WithMany("RemovableMedias").HasForeignKey("ScsiId").
+ OnDelete(DeleteBehavior.SetNull);
+ });
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.SscSupportedMedia", b =>
- {
- b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null).WithMany("SupportedMediaTypes").HasForeignKey("SscId").
- OnDelete(DeleteBehavior.SetNull);
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.TestedSequentialMedia",
+ b => b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null).WithMany("TestedMedia").
+ HasForeignKey("SscId").OnDelete(DeleteBehavior.SetNull));
- b.HasOne("Aaru.CommonTypes.Metadata.TestedSequentialMedia", null).WithMany("SupportedMediaTypes").
- HasForeignKey("TestedSequentialMediaId").OnDelete(DeleteBehavior.SetNull);
- });
+ modelBuilder.Entity("Aaru.Database.Models.Device", b =>
+ {
+ b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATA").WithMany().HasForeignKey("ATAId").
+ OnDelete(DeleteBehavior.SetNull);
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.SupportedDensity", b =>
- {
- b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null).WithMany("SupportedDensities").HasForeignKey("SscId").
- OnDelete(DeleteBehavior.Cascade);
+ b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATAPI").WithMany().HasForeignKey("ATAPIId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.TestedSequentialMedia", null).WithMany("SupportedDensities").
- HasForeignKey("TestedSequentialMediaId").OnDelete(DeleteBehavior.Cascade);
- });
+ b.HasOne("Aaru.CommonTypes.Metadata.FireWire", "FireWire").WithMany().HasForeignKey("FireWireId").
+ OnDelete(DeleteBehavior.SetNull);
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.TestedMedia", b =>
- {
- b.HasOne("Aaru.CommonTypes.Metadata.Ata", null).WithMany("RemovableMedias").HasForeignKey("AtaId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.MmcSd", "MultiMediaCard").WithMany().HasForeignKey("MultiMediaCardId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.Chs", "CHS").WithMany().HasForeignKey("CHSId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.Pcmcia", "PCMCIA").WithMany().HasForeignKey("PCMCIAId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.Chs", "CurrentCHS").WithMany().HasForeignKey("CurrentCHSId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.Scsi", "SCSI").WithMany().HasForeignKey("SCSIId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.Mmc", null).WithMany("TestedMedia").HasForeignKey("MmcId").
- OnDelete(DeleteBehavior.Cascade);
+ b.HasOne("Aaru.CommonTypes.Metadata.MmcSd", "SecureDigital").WithMany().HasForeignKey("SecureDigitalId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.Scsi", null).WithMany("RemovableMedias").HasForeignKey("ScsiId").
- OnDelete(DeleteBehavior.SetNull);
- });
+ b.HasOne("Aaru.CommonTypes.Metadata.Usb", "USB").WithMany().HasForeignKey("USBId").
+ OnDelete(DeleteBehavior.SetNull);
+ });
- modelBuilder.Entity("Aaru.CommonTypes.Metadata.TestedSequentialMedia",
- b => b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null).WithMany("TestedMedia").
- HasForeignKey("SscId").OnDelete(DeleteBehavior.SetNull));
+ modelBuilder.Entity("Aaru.Database.Models.Report", b =>
+ {
+ b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATA").WithMany().HasForeignKey("ATAId").
+ OnDelete(DeleteBehavior.SetNull);
- modelBuilder.Entity("Aaru.Database.Models.Device", b =>
- {
- b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATA").WithMany().HasForeignKey("ATAId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATAPI").WithMany().HasForeignKey("ATAPIId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATAPI").WithMany().HasForeignKey("ATAPIId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.FireWire", "FireWire").WithMany().HasForeignKey("FireWireId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.FireWire", "FireWire").WithMany().HasForeignKey("FireWireId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.MmcSd", "MultiMediaCard").WithMany().HasForeignKey("MultiMediaCardId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.MmcSd", "MultiMediaCard").WithMany().
- HasForeignKey("MultiMediaCardId").OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.Pcmcia", "PCMCIA").WithMany().HasForeignKey("PCMCIAId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.Pcmcia", "PCMCIA").WithMany().HasForeignKey("PCMCIAId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.Scsi", "SCSI").WithMany().HasForeignKey("SCSIId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.Scsi", "SCSI").WithMany().HasForeignKey("SCSIId").
- OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.MmcSd", "SecureDigital").WithMany().HasForeignKey("SecureDigitalId").
+ OnDelete(DeleteBehavior.SetNull);
- b.HasOne("Aaru.CommonTypes.Metadata.MmcSd", "SecureDigital").WithMany().
- HasForeignKey("SecureDigitalId").OnDelete(DeleteBehavior.SetNull);
+ b.HasOne("Aaru.CommonTypes.Metadata.Usb", "USB").WithMany().HasForeignKey("USBId").
+ OnDelete(DeleteBehavior.SetNull);
+ });
- b.HasOne("Aaru.CommonTypes.Metadata.Usb", "USB").WithMany().HasForeignKey("USBId").
- OnDelete(DeleteBehavior.SetNull);
- });
+ modelBuilder.Entity().HasIndex(b => b.ModifiedWhen);
- modelBuilder.Entity("Aaru.Database.Models.Report", b =>
- {
- b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATA").WithMany().HasForeignKey("ATAId").
- OnDelete(DeleteBehavior.SetNull);
+ modelBuilder.Entity().HasIndex(b => b.ModifiedWhen);
+ modelBuilder.Entity().HasIndex(b => b.ProductId);
+ modelBuilder.Entity().HasIndex(b => b.VendorId);
- b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATAPI").WithMany().HasForeignKey("ATAPIId").
- OnDelete(DeleteBehavior.SetNull);
+ modelBuilder.Entity().HasIndex(b => b.ModifiedWhen);
- b.HasOne("Aaru.CommonTypes.Metadata.FireWire", "FireWire").WithMany().HasForeignKey("FireWireId").
- OnDelete(DeleteBehavior.SetNull);
-
- b.HasOne("Aaru.CommonTypes.Metadata.MmcSd", "MultiMediaCard").WithMany().
- HasForeignKey("MultiMediaCardId").OnDelete(DeleteBehavior.SetNull);
-
- b.HasOne("Aaru.CommonTypes.Metadata.Pcmcia", "PCMCIA").WithMany().HasForeignKey("PCMCIAId").
- OnDelete(DeleteBehavior.SetNull);
-
- b.HasOne("Aaru.CommonTypes.Metadata.Scsi", "SCSI").WithMany().HasForeignKey("SCSIId").
- OnDelete(DeleteBehavior.SetNull);
-
- b.HasOne("Aaru.CommonTypes.Metadata.MmcSd", "SecureDigital").WithMany().
- HasForeignKey("SecureDigitalId").OnDelete(DeleteBehavior.SetNull);
-
- b.HasOne("Aaru.CommonTypes.Metadata.Usb", "USB").WithMany().HasForeignKey("USBId").
- OnDelete(DeleteBehavior.SetNull);
- });
-
- modelBuilder.Entity().HasIndex(b => b.ModifiedWhen);
-
- modelBuilder.Entity().HasIndex(b => b.ModifiedWhen);
- modelBuilder.Entity().HasIndex(b => b.ProductId);
- modelBuilder.Entity().HasIndex(b => b.VendorId);
-
- modelBuilder.Entity().HasIndex(b => b.ModifiedWhen);
- }
+ modelBuilder.Entity().HasIndex(b => b.Sha256);
+ modelBuilder.Entity().HasIndex(b => b.ModifiedWhen);
}
}
\ No newline at end of file
diff --git a/Aaru.Database/Migrations/20211208202937_AddNesHeaders.Designer.cs b/Aaru.Database/Migrations/20211208202937_AddNesHeaders.Designer.cs
new file mode 100644
index 000000000..5c742c066
--- /dev/null
+++ b/Aaru.Database/Migrations/20211208202937_AddNesHeaders.Designer.cs
@@ -0,0 +1,2905 @@
+//
+using System;
+using Aaru.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace Aaru.Database.Migrations
+{
+ [DbContext(typeof(AaruContext))]
+ [Migration("20211208202937_AddNesHeaders")]
+ partial class AddNesHeaders
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder.HasAnnotation("ProductVersion", "6.0.0");
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Ata", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Identify")
+ .HasColumnType("BLOB");
+
+ b.Property("ReadCapabilitiesId")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ReadCapabilitiesId");
+
+ b.ToTable("Ata");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.BlockDescriptor", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("BlockLength")
+ .HasColumnType("INTEGER");
+
+ b.Property("Blocks")
+ .HasColumnType("INTEGER");
+
+ b.Property("Density")
+ .HasColumnType("INTEGER");
+
+ b.Property("ScsiModeId")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ScsiModeId");
+
+ b.ToTable("BlockDescriptor");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Chs", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Cylinders")
+ .HasColumnType("INTEGER");
+
+ b.Property("Heads")
+ .HasColumnType("INTEGER");
+
+ b.Property("Sectors")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("Chs");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.DensityCode", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Code")
+ .HasColumnType("INTEGER");
+
+ b.Property("SscSupportedMediaId")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SscSupportedMediaId");
+
+ b.ToTable("DensityCode");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.FireWire", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Manufacturer")
+ .HasColumnType("TEXT");
+
+ b.Property("Product")
+ .HasColumnType("TEXT");
+
+ b.Property("ProductID")
+ .HasColumnType("INTEGER");
+
+ b.Property("RemovableMedia")
+ .HasColumnType("INTEGER");
+
+ b.Property("VendorID")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("FireWire");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.GdRomSwapDiscCapabilities", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba0Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba0DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba0Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba0ScrambledData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba0ScrambledDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba0ScrambledReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba0ScrambledSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba0Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba100000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba100000RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba100000Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba400000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba400000RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba400000Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba44990RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba44990RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba44990Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba450000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba450000RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba450000Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba45000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000RwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba45000RwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba45000Sense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000AudioPqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioPqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000AudioPqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioPqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioPqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioRwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioRwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000AudioRwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioRwReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000AudioRwSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000AudioSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000Data")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000DecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000PqData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000PqDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000PqReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000PqReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000PqSense")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000Readable")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000ReadableCluster")
+ .HasColumnType("INTEGER");
+
+ b.Property("Lba50000RwData")
+ .HasColumnType("BLOB");
+
+ b.Property("Lba50000RwDecodedSense")
+ .HasColumnType("TEXT");
+
+ b.Property("Lba50000RwReadable")
+ .HasColumnType("INTEGER");
+
+ b.Property