using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TinyPosEntity { public class EntityController { public static string ConnectionString { get; set; } private static EntityController instance; private EntityController(string connectionString) { EntityContext.ConnectionString = connectionString; } public static EntityController GetInstance() { if (string.IsNullOrEmpty(ConnectionString)) throw new Exception("ConnectionString 값이 필요합니다."); if (instance == null) instance = new EntityController(ConnectionString); return instance; } public void Initialize() { Database.SetInitializer(new EntityInitializer()); using (EntityContext context = new EntityContext()) { context.Database.CreateIfNotExists(); } } public void AddStudent(Student student) { using (EntityContext context = new EntityContext()) { context.Students.Add(student); context.SaveChanges(); } } public List FindStudent(string name) { List result = null; using (EntityContext context = new EntityContext()) { var student = from s in context.Students where s.StudentName.Equals(name) select s; if (student.Count() > 0) result = student.ToList(); } return result; } public void RemoveStudent(Student student) { using (EntityContext context = new EntityContext()) { context.Database.ExecuteSqlCommand("DELETE FROM dbo.Students WHERE StudentName = {0}", student.StudentName); } } } }