public void Configure(EntityTypeBuilder <PersonFluent> builder) { builder.Property(c => c.FirstName) .HasMaxLength(50) .IsRequired() .IsUnicode() .HasColumnName("FName") .HasColumnType("VARCHAR(55)"); builder.Property(c => c.BirthDate) .HasColumnType("DateTime"); builder.Property(c => c.LastName) .IsRequired() .IsUnicode() .HasColumnType("NVARCHAR(46)") .HasColumnName("LName"); builder.Property(c => c.Age).HasPrecision(10, 4); //Value Conversions builder.Property(c => c.PersonType).HasConversion <string>().HasColumnType("NVARCHAR(20)").HasColumnName("PType"); var valueConvertor = new Microsoft.EntityFrameworkCore.Storage.ValueConversion.ValueConverter <NationalCode, string> (nationalCode => nationalCode.Value, str => new NationalCode(str)); builder.Property(c => c.NationalCode).HasConversion(valueConvertor).HasColumnName("NCode").HasColumnType("NVARCHAR(10)"); // builder.Ignore(c => c.FullName); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { var converter = new Microsoft.EntityFrameworkCore.Storage.ValueConversion.ValueConverter <DateTime, DateTime>( v => DateTime.Now, v => v ); modelBuilder.Entity <Category>(entity => { entity.Property(e => e.Description).HasMaxLength(255); entity.Property(e => e.Name) .IsRequired() .HasMaxLength(50); }); modelBuilder.Entity <Product>(entity => { entity.Property(e => e.CreatedDate).HasColumnType("datetime"); entity.Property(e => e.Description).IsRequired(); entity.Property(e => e.ModifiedDate).HasColumnType("datetime").HasConversion(converter); entity.Property(e => e.Name) .IsRequired() .HasMaxLength(128); entity.Property(e => e.Price).HasColumnType("decimal(18, 3)"); entity.HasOne(d => d.Category) .WithMany(p => p.Product) .HasForeignKey(d => d.CategoryId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("FK_Product_Category_Id"); }); modelBuilder.Entity <ProductView>(entity => { entity.ToTable("ProductView", "stats"); entity.HasOne(d => d.Product) .WithMany(p => p.ProductView) .HasForeignKey(d => d.ProductId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("FK_ProductView_Product_Id"); }); }