// // NostaleDataContext.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using Microsoft.EntityFrameworkCore; using NosSmooth.Data.Database.Data; namespace NosSmooth.Data.Database; /// /// Database context with NosTale data. /// public class NostaleDataContext : DbContext { /// /// Initializes a new instance of the class. /// /// The options. public NostaleDataContext(DbContextOptions options) : base(options) { } /// /// Gets the translations set. /// public DbSet Translations => Set(); /// /// Gets the items set. /// public DbSet Items => Set(); /// /// Gets the maps set. /// public DbSet Maps => Set(); /// /// Gets the monsters set. /// public DbSet Monsters => Set(); /// /// Gets the skills set. /// public DbSet Skills => Set(); /// protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .Property(x => x.Data) .HasConversion ( x => string.Join("|", x), x => x.Split(',', StringSplitOptions.RemoveEmptyEntries) ); modelBuilder.Entity().HasKey("Language", "Root", "Key"); modelBuilder.Entity().Ignore(x => x.Name); modelBuilder.Entity().Ignore(x => x.Name); modelBuilder.Entity().Ignore(x => x.Name); modelBuilder.Entity().Ignore(x => x.Name); base.OnModelCreating(modelBuilder); } }