基本用法(CRUD)
1.插入:
// Create entity contextMyTest2Entities mt = new MyTest2Entities();// Create an instance of SClassSClass sc = new SClass();sc.AddTime = DateTime.Now;sc.Name = "Class 1";// Insert the instance into databasemt.SClasses.Add(sc);int count = mt.SaveChanges();Console.WriteLine(count.ToString());
2.修改:
// Create entity contextMyTest2Entities mt = new MyTest2Entities();// Create an instance need modifiedSClass sc = new SClass();sc.Id = 2;sc.Name = "Kyle";sc.AddTime = DateTime.Now;// Attach the entity need modifiedmt.SClasses.Attach(sc);// Modify execute statusmt.Entry(sc).State = System.Data.Entity.EntityState.Modified;mt.SaveChanges();
3.查询:
#region Multiple record queryMyTest2Entities mt = new MyTest2Entities();var classes = from c in mt.SClasses where c.Id < 10 select c;foreach (var item in classes){ Console.WriteLine(item.Name);}#endregion#region Single record queryMyTest2Entities mt = new MyTest2Entities();var single = (from c in mt.SClasses where c.Id == 1 select c).FirstOrDefault();if (single != null) Console.WriteLine(single.Name);#endregion
4.删除:
MyTest2Entities mt = new MyTest2Entities();SClass sc = new SClass();sc.Id = 2;mt.SClasses.Attach(sc);mt.Entry(sc).State = System.Data.Entity.EntityState.Deleted;mt.SaveChanges();
获取主键:
// TestEntities 继承于 DbContextusing (var db = new TestEntities()){ var objectContext = ((System.Data.Entity.Infrastructure.IObjectContextAdapter)db).ObjectContext; // Brand 是其中一个表 ObjectSetset = objectContext.CreateObjectSet (); //Act IEnumerable keyNames = set.EntitySet.ElementType.KeyMembers.Select(k => k.Name); Console.WriteLine("{0}", string.Join(",", keyNames.ToArray()));}