protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.SetUniqueField<Place>(x => x.Name, 250, "idx_place_name", 1); modelBuilder.Entity<Place>().Property(x => x.Name).IsRequired(); //modelBuilder.SetUniqueField<Desk>(x => x.Name, 250, "idx_desk_name", 1); /*modelBuilder.SetUniqueField<Producer>(x => x.Name, 250, "idx_producer_name", 1); modelBuilder.SetUniqueField<Supplier>(x => x.Name, 250, "idx_supplier_name", 1); modelBuilder.SetUniqueField<Customer>(x => x.Name, 250, "idx_customer_name", 1); // packing modelBuilder.Entity<Packing>().Property(x => x.Name).HasMaxLength(250).IsRequired(); modelBuilder.Entity<Packing>().Property(x => x.ItemsCount).IsRequired(); modelBuilder.Entity<Packing>().Property(x => x.Reusable).IsRequired(); modelBuilder.Entity<Packing>().HasRequired(x => x.MeasureUnit); // products modelBuilder.Entity<Product>().HasRequired(x => x.MeasureUnit); modelBuilder.Entity<Product>().Property(x => x.Name).HasMaxLength(250).IsRequired(); modelBuilder.Entity<Product>().Property(x => x.Price).IsRequired(); // measure units modelBuilder.SetUniqueField<MeasureUnit>(x => x.FullName, 250, "idx_measureunit_name", 1); modelBuilder.Entity<MeasureUnit>().Property(x => x.ShortName).IsRequired(); // invoices modelBuilder.Entity<Model.Invoice>().HasRequired(x => x.Customer); modelBuilder.Entity<Model.Invoice>().HasRequired(x => x.Supplier); modelBuilder.Entity<Model.Invoice>().HasRequired(x => x.Producer); modelBuilder.Entity<Model.Invoice>().Property(x => x.Date).IsRequired(); // invoice items modelBuilder.Entity<InvoiceItem>().HasRequired(x => x.Product); modelBuilder.Entity<InvoiceItem>().Property(x => x.Count).IsRequired();*/ }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); // Measure Units modelBuilder.Entity<MeasureUnit>().HasKey<int>(x => x.Id); modelBuilder.SetUniqueField<MeasureUnit>(x => x.Name, 128, "idx_MU_name", 1); modelBuilder.SetUniqueField<MeasureUnit>(x => x.ShortName, 8, "idx_MU_shortname", 2); // Unit Categories modelBuilder.Entity<UnitCategory>().HasKey<int>(x => x.Id); modelBuilder.Entity<UnitCategory>().HasMany<UnitCategory>(x => x.ChildItems); // Units modelBuilder.Entity<Unit>().HasKey<int>(x => x.Id); modelBuilder.SetUniqueField<Unit>(x => x.Name, 250, "idx_Unit_name", 1); // modelBuilder.Entity<RecipeUnitCount>().HasKey(t => new {t.UnitId, t.RecipeId}); modelBuilder.Entity<Document>().Ignore(x => x.Name); //modelBuilder.Entity<DocumentType>().Ignore(x => x.SiteIds); }