static void Main(string[] args) { using (var db = new ContosoUniversityEntities()) { db.Database.Log = (msg) => { Trace.WriteLine(msg); }; //var data = db.GetCourse("%Git%"); var data = db.Course.Include(p => p.Department); foreach (var item in data) { Console.WriteLine(item.Credits + "\t" + item.Title); } foreach (var item in db.vwCourse) { Console.WriteLine(item.DepartmentName + "\t" + item.Title); } Console.ReadLine(); } }
private static void Day2_DbEntityEntry() { using (var db = new ContosoUniversityEntities()) { //Day1_Practics(db); var cc = db.Course.Find(1); //var cc = db.Course.Create(); //db.Course.AsNoTracking() cc.Credits++; var ce = db.Entry(cc); Console.WriteLine(ce.State); if (ce.State == System.Data.Entity.EntityState.Modified) { Console.WriteLine("Curr: " + cc.Credits); Console.WriteLine("Orig: " + ce.OriginalValues.GetValue <int>("Credits")); //cc.ModifiedOn = DateTime.Now; //ce.CurrentValues.SetValues(new { ModifiedOn = DateTime.Now }); } //db.SaveChanges(); //db.Course.Remove(cc); ////ce.State = System.Data.Entity.EntityState.Deleted; //cc.Credits = 50; //Console.WriteLine(ce.State); //if (ce.State == System.Data.Entity.EntityState.Deleted) //{ // Console.WriteLine("Curr: " + cc.Credits); // Console.WriteLine("Orig: " + ce.OriginalValues.GetValue<int>("Credits")); //} //ce.Reload(); var ccc = new Course() { Title = "EF6", Credits = CourseCredit.低, Department = db.Department.Find(1) }; db.Course.Add(ccc); Console.WriteLine("Course ID: {0}", ccc.CourseID); db.SaveChanges(); Console.WriteLine("Course ID: {0}", ccc.CourseID); } }
private static void 離線模式範例() { Course c; using (var db = new ContosoUniversityEntities()) { c = db.Course.Find(1); c.Credits = CourseCredit.中; Console.WriteLine(db.Entry(c).State); } using (var db = new ContosoUniversityEntities()) { db.Course.Attach(c); db.Entry(c).State = System.Data.Entity.EntityState.Modified; Console.WriteLine(db.Entry(c).State); db.SaveChanges(); } Console.WriteLine(c.Credits); using (var db = new ContosoUniversityEntities()) { c = db.Course.Find(1); Console.WriteLine(c.Credits); //db.Course.Remove(db.Course.Find(22)); //db.Entry(new Course() { CourseID = 22 }).State = System.Data.Entity.EntityState.Deleted; //db.SaveChanges(); } }
static void Main(string[] args) { Console.WriteLine("APP 2"); using (var db = new ContosoUniversityEntities()) { db.Database.Log = Console.WriteLine; var c = db.Department.Find(1); c.Name += "??"; Console.ReadLine(); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { throw; } } }
private static void Day1_Practics(ContosoUniversityEntities db) { // db.Configuration.ProxyCreationEnabled = false; var data = from p in db.Department select p; foreach (var department in data) { Console.WriteLine(department.DepartmentID + "\t" + department.Name); //var courses = from q in db.Course // where q.DepartmentID == department.DepartmentID // select q; //var courses = department.Course; foreach (var course in department.Course) { Console.WriteLine("\t" + course.CourseID + "\t" + course.Title); } } Console.WriteLine("--------------------------------------------------------"); foreach (var c in db.Course) { Console.WriteLine(c.CourseID + "\t" + c.Title + "\t" + c.Department.Name); } Console.WriteLine("--------------------------------------------------------"); //var c1 = new Course() //{ // Title = "Test", // Credits = 5, // DepartmentID=4 //}; //db.Course.Add(c1); //db.SaveChanges(); //foreach (var c in db.Course.AsNoTracking()) //{ // Console.WriteLine(c.CourseID + "\t" + c.Title + "\t" + c.Department.Name); //} //Console.WriteLine("--------------------------------------------------------"); var c2 = db.Course.Find(7); c2.Instructors.Add(db.Person.Find(5)); db.SaveChanges(); // 取得 SQL Server 伺服器時間的方法 DateTime dt = db.Database.SqlQuery <DateTime>("select getdate()").First(); var sql = @"SELECT Course.CourseID, Course.Title, Course.Credits, Department.Name AS DepartmentName FROM Course INNER JOIN Department ON Course.DepartmentID = Department.DepartmentID"; var data2 = db.Database.SqlQuery <Course2>(sql); foreach (var item in data2) { Console.WriteLine(item.CourseID + "\t" + item.Title + "\t" + item.DepartmentName); } Console.WriteLine("--------------------------------------------------------"); }