<prompt> Unda programu ya C inayotumia mfumo wa NET Core kuunganisha kwenye hifadhidata ya Seva ya Microsoft SQL na kutekeleza shughuli za CRUD kwenye huluki ya Mteja. Tekeleza ushughulikiaji sahihi wa makosa, uthibitishaji wa ingizo, na utumie LINQ kuuliza data.PLINFORMAT  <response>: kutumia Mfumo;kwa kutumia System.Linq;kutumia Microsoft.EntityFrameworkCore;Mteja wa daraja la umma Id ya int ya umma pata; kuweka; kamba ya umma FirstName pata; kuweka; kamba ya umma LastName pata; kuweka; Barua pepe ya kamba ya umma pata; kuweka; darasa la umma AppDbContext : DbContext umma DbSet Wateja kupata; kuweka; batili iliyolindwa ya kubatilisha OnConfiguringDbContextOptionsBuilder optionsBuilder optionsBuilder.UseSqlServerYourConnectionString; Programu ya darasa tuli utupu Mainstring args kutumia var muktadha mpya AppDbContext Unda mteja mpya var newCustomer Mteja mpya FirstName John, LastName Doe, Barua pepe ; muktadha.Wateja.OngezaMteja mpya; muktadha.HifadhiMabadiliko; Soma wateja wote kutoka kwa hifadhidata var customers context.Customers.ToList; foreach var mteja katika wateja Console.WriteLineID: customer.Id, Jina: customer.FirstName customer.LastName, Barua pepe: customer.Email; Sasisha mteja aliyepo var availableCustomer context.Customers.FirstOrDefaultc c.Email ikiwa Mteja aliyepo ! null zilizopoCustomer.FirstName Jane; zilizopoCustomer.LastName Smith; muktadha.IngizoMteja aliyepo.Jimbo EntityState.Imebadilishwa; muktadha.HifadhiMabadiliko; Futa mteja var customerToDelete context.Customers.FirstOrDefaultc c.Email ikiwa customerToDelete ! null muktadha.Wateja.OndoamtejaToDelete; muktadha.HifadhiMabadiliko; 