using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
public static void SaveDataToEntitySet<TEntity>(DbContext context, List<TEntity> list) where TEntity:class
var dbSet = context.Set<TEntity>();
var nonNulls = list.Where(x => x != null);
if(list.Any(x=>x== null))
throw new Exception($"Null Detected: {list.GetType().Name}");
foreach (var item in nonNulls)
public class BloggingContext : DbContext
public DbSet<Blog> Blogs { get; set; }
public BloggingContext(DbContextOptions<BloggingContext> options)
public int BlogId { get; set; }
public string Url { get; set; }
public string Name {get;set;}
public static void Main()
var contextOptions = new DbContextOptionsBuilder<BloggingContext>()
.UseInMemoryDatabase("BloggingControllerTest")
using var context = new BloggingContext(contextOptions);
new Blog { Name = "Blog1", Url = "http://blog1.com" },
new Blog { Name = "Blog2", Url = "http://blog2.com" }
context.AddRange(newBlogs);
foreach(var blog in context.Blogs)
Console.WriteLine($"{blog.BlogId} {blog.Name}");
new Blog { Name = "Blog3", Url = "http://blog1.com" },
new Blog { Name = "Blog4", Url = "http://blog2.com" }
Exts.SaveDataToEntitySet<Blog>(context,newBlogs2);
var allBlogs=context.Blogs.ToList();
foreach(var blog in allBlogs)
Console.WriteLine($"{blog.BlogId} {blog.Name}");