static void Main(string[] args) { string strConn = ConfigurationManager.ConnectionStrings["DBModel.Properties.Settings.StockDataConnectionString"].ConnectionString; List<SymbolInfo> symbolList = new List<SymbolInfo>(); //Load Symbols From CSV using (StreamReader sr = File.OpenText(@"F:\Projects\Git\StockDownloader\LoadSymbol\ETF_List.csv")) { var line = sr.ReadLine(); while(line != null) { var items = line.Split(new char[] { ',' }); if(items.Length ==4) { var si = new SymbolInfo(); si.NativeSymbol = items[0]; si.Name = items[1]; si.Exchange = items[2]; si.NativeCountry = items[3]; if(si.IsValid()) { symbolList.Add(si); } } line = sr.ReadLine(); } sr.Close(); } using (StockDBDataContext dbContext = new StockDBDataContext(strConn)) { foreach(var si in symbolList) { var stockSymbol = dbContext.StockSymbols.Where(s => s.Symbol == si.Symbol).SingleOrDefault(); if(stockSymbol == null) { stockSymbol = new StockSymbol() { Symbol = si.Symbol, StockName = si.Name, Country = si.Country, ETF = si.ETF }; dbContext.StockSymbols.InsertOnSubmit(stockSymbol); } else { stockSymbol.StockName = si.Name; stockSymbol.Country = si.Country; stockSymbol.ETF = si.ETF; } } dbContext.SubmitChanges(); } }
partial void UpdateStockSymbol(StockSymbol instance);
partial void DeleteStockSymbol(StockSymbol instance);
partial void InsertStockSymbol(StockSymbol instance);