Entity Framework 5.0 增删改查(级联)
Entity Framework 5.0 增删改查(级联)
[TestClass] public class UnitTest1 { [TestMethod] public void TestInsert() { using (TestEntities1 context = new TestEntities1()) { User user = new User(); user.ID = 10; user.UName = "Jim"; user.Address = new Address(); user.Address.ID = 7; user.Address.Address1 = "附件"; context.Set<User>().Add(user); DbEntityEntry<Address> entry = context.Entry<Address>(user.Address); entry.State = System.Data.EntityState.Modified; //entry.State = System.Data.EntityState.Added; DbEntityEntry<User> entry2 = context.Entry<User>(user); entry2.State = System.Data.EntityState.Added; context.SaveChanges(); } } [TestMethod] public void TestUpdate() { using (TestEntities1 context = new TestEntities1()) { User user = new User(); user.ID = 10; user.UName = "Jim"; user.Address = new Address(); user.Address.ID = 7; user.Address.Address1 = "福建"; context.Set<User>().Add(user); DbEntityEntry<Address> entry = context.Entry<Address>(user.Address); entry.State = System.Data.EntityState.Modified; DbEntityEntry<User> entry2 = context.Entry<User>(user); entry2.State = System.Data.EntityState.Modified; context.SaveChanges(); } } [TestMethod] public void TestSelect() { using (TestEntities1 context = new TestEntities1()) { var user = context.UserAndSubs().Where(u => u.ID == 10) .Select(u => u).ToList(); } } [TestMethod] public void TestDelete() { using (TestEntities1 context = new TestEntities1()) { var user = context.UserAndSubs().Where(u => u.ID == 10).First(); context.Set<User>().Add(user); context.Set<Address>().Remove(user.Address); context.Entry<User>(user).State = System.Data.EntityState.Deleted; context.SaveChanges(); } } }