public static void Initialize(IServiceProvider serviceProvider) { using (var context = new WordDBContext( serviceProvider.GetRequiredService <DbContextOptions <WordDBContext> >())) { Seed(context); } }
/// <summary> /// 获取线程内唯一的EF对象 /// </summary> /// <returns>数据操作对象</returns> public static WordDBContext GetEF() { WordDBContext dbContext = (WordDBContext)CallContext.GetData("dbContext");//保证EF对象线程内唯一 if (dbContext == null) { dbContext = new WordDBContext(); dbContext.Configuration.ValidateOnSaveEnabled = false; CallContext.SetData("dbContext", dbContext); } return(dbContext); }
public static void Seed(WordDBContext context) { var assembly = Assembly.GetExecutingAssembly(); var resourceStream = assembly.GetManifestResourceStream("Hangman.Infrastructure.Data.Word.xml"); var xml = XDocument.Load(resourceStream); foreach (var element in xml.Descendants("word_list")) { var i = 1; foreach (var childEllement in element.Descendants()) { context.Words.Add(new Word { Id = i, Name = childEllement.Value }); i++; } } context.SaveChanges(); }
public WordsController(WordDBContext context) { _context = context; }