示例#1
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new WordDBContext(
                       serviceProvider.GetRequiredService <DbContextOptions <WordDBContext> >()))

            {
                Seed(context);
            }
        }
示例#2
0
        /// <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);
        }
示例#3
0
        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();
        }
示例#4
0
 public WordsController(WordDBContext context)
 {
     _context = context;
 }