
Example Code
public class Author
{
public Guid Id { get; set; }
public string Email { get; set; }
public string Name { get; set; }
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
var authorBuilder = modelBuilder.Entity();
authorBuilder.ToTable(nameof(Author));
authorBuilder.HasKey(i => i.Id);
authorBuilder.HasIndex(i => i.Email).IsUnique();
authorBuilder.Property(i => i.Id).HasDefaultValueSql("NEWID()");
authorBuilder.Property(i => i.Name).IsRequired();
authorBuilder.Property(i => i.Email).HasMaxLength(250).IsRequired();
}
var authorStream = rowStream
.Distinct("remove author duplicates based on emails", i => i.Author)
// .Select("create author instance", i => new Author { Email = i.Email, Name = i.Author })
.EfCoreSave("save authors", o => o
.Entity(i => new Author {Id=Guid.NewGuid(), Email = i.Email, Name = i.Author })
.SeekOn(i => i.Name)
//.AlternativelySeekOn(i => i.Name)
.WithMode(SaveMode.SqlServerBulk));