private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.Write; var ninja = new Ninja { Name = "Important Ninja", ServedInOniwaban = false, ClanId = 1, DateOfBirth = new DateTime(2000, 1, 1) }; var muscles = new NinjaEquipment { Name = "Muscle", Type = EquipmentType.Tool }; var stamina = new NinjaEquipment { Name = "Stamina", Type = EquipmentType.Tool }; context.Ninjas.Add(ninja); ninja.EquipmentOwned.AddRange(new List <NinjaEquipment> { muscles, stamina }); // note: equipment will automatically be tracked by context context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new Ninja { Name = "Kacy Catanzaro", ServedInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 14), ClanId = 1 }; var muscles = new NinjaEquipment { Name = "Muscles", Type = EquipmentType.Tool }; var knife = new NinjaEquipment { Name = "Knife", Type = EquipmentType.Weapon }; context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(knife); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new Ninja { Name = "Michelangelo", ServedInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 14), ClanId = 1 }; var Nunchaku = new NinjaEquipment { Name = "Nunchaku1", Type = EquipmentType.Weapon }; var Nunchaku2 = new NinjaEquipment { Name = "Nunchaku2", Type = EquipmentType.Weapon }; context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(Nunchaku); ninja.EquipmentOwned.Add(Nunchaku2); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() //3 sql inserts all take place in the same connection and transaction. { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new Ninja { Name = "Kacy Catanzaro", ServedInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 14), ClanId = 1 }; var muscles = new NinjaEquipment { Name = "Muscles", Type = EquipmentType.Tool, }; var spunk = new NinjaEquipment { Name = "Spunk", Type = EquipmentType.Weapon, }; context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(spunk); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new Ninja { Name = "ObiFive", ServedInOniwaban = true, DateOfBirth = new DateTime(1945, 1, 9), ClanId = 1 }; var muscles = new NinjaEquipment { Name = "Muscles", Type = EquipmentType.Tool }; var spunk = new NinjaEquipment { Name = "Spunk", Type = EquipmentType.Weapon }; context.Ninjas.Add(ninja); // remeber to instantiate the equipment list before adding it in Ninja class and instantiate ninjas list in Clan class ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(spunk); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (NinjaContext context = new NinjaContext()) { Ninja ninja = new Ninja() { Name = "Elvis", ServedInOniwaban = true, DateOfBirth = new DateTime(1977, 07, 08), ClainId = 1 }; NinjaEquipment fist = new NinjaEquipment() { Name = "Fist", Type = EquipmentType.Weapon }; NinjaEquipment sword = new NinjaEquipment() { Name = "Sword", Type = EquipmentType.Tool }; context.Database.Log = Console.WriteLine; context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(fist); ninja.EquipmentOwned.Add(sword); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new Ninja { Name = "Kacy Catanzaro", ServedInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 14), ClanId = 1 }; var muscles = new NinjaEquipment { Name = "Muscles", Type = EquipmentType.Tool }; var spunk = new NinjaEquipment { Name = "Spunk", Type = EquipmentType.Weapon }; // Because EF is already tracking the ninja, it will pick up on the // relationship between the ninja and its equipment even though we didn't // explicitly tell the context about the equipment. context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(spunk); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var clan = context.Clans.FirstOrDefault(); var ninja = new Ninja() { Name = "Kacy Catanzaro", ServedInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 14), Clan = clan }; var muscles = new NinjaEquipment() { Name = "Muscles", Type = EquipmentType.Tool }; var spunk = new NinjaEquipment() { Name = "Spunk", Type = EquipmentType.Weapon }; context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(spunk); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new Ninja { Name = "John Smith", ServedInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 14), ClanId = 1 }; var muscles = new NinjaEquipment { Name = "Muscles", Type = EquipmentType.Tool }; var scythe = new NinjaEquipment { Name = "Scythe", Type = EquipmentType.Weapon }; // All 3 of these statements were // executed in the same DB connection context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(scythe); context.SaveChanges(); } }
static void InsertRelatedData() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new Ninja { Name = "Donatello", ServedInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 1), ClanId = 1 }; var dojo = new NinjaEquipment { Name = "Dojo", Type = EquipmentType.Weapon }; var ninjaKnives = new NinjaEquipment { Name = "NinjaKnives", Type = EquipmentType.Weapon }; context.Ninjas.Add(ninja); ninja.EquipmentOwned = new List <NinjaEquipment>(); ninja.EquipmentOwned.Add(dojo); ninja.EquipmentOwned.Add(ninjaKnives); context.SaveChanges(); } }
}//DeleteNinjaViaStoredProcedure() private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; //Creating a Ninja object var ninja = new Ninja { Name = "Kacy Catanzaro", ServedInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 14), ClanId = 1 }; //Creating 2 Equipment objects var muscles = new NinjaEquipment { Name = "Muscles", Type = EquipmentType.Tool }; var spunk = new NinjaEquipment { Name = "Spunk", Type = EquipmentType.Weapon }; //adding the Ninja to the context context.Ninjas.Add(ninja); //adding the Equipment objects to the Ninja object ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(spunk); context.SaveChanges(); } //using } //InsertNinjaWithEquipment()
private static void AddRelatedData() { var ninja = new Ninja { Name = "Patrick", DateOfBirth = DateTime.Today.AddYears(-30), Clan = new Clan { ClanName = "Test", Id = 2 } }; var equipment1 = new NinjaEquipment { Name = "Flying", Type = EquipmentType.Tool }; var equipment2 = new NinjaEquipment { Name = "Sword", Type = EquipmentType.Weapon }; using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(equipment1); ninja.EquipmentOwned.Add(equipment2); context.SaveChanges(); } }
private static void AddNinjaWithEquipment() { var ninja = new Ninja { Name = "Naruto", ClanId = 1, DateOfBirth = new DateTime(1996, 3, 5), ServedInOniwaban = false }; var muscles = new NinjaEquipment { Name = "Muscles", Type = Classes.Enums.EquipmentType.Tool }; var spunk = new NinjaEquipment { Name = "Spunk", Type = Classes.Enums.EquipmentType.Weapon }; using (var context = new NinjaContext()) { context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(spunk); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new NinjaDomain.Classes.Ninja { Name = "Kacy Cantazaro", ServedInOniwaban = false, DateOfBirth = new DateTime(1986, 06, 20), ClanId = 1 }; var muscles = new NinjaEquipment { Name = "Muscles", Type = EquipmentType.Tool }; var spunk = new NinjaEquipment { Name = "Spunk", Type = EquipmentType.Weapon }; context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(spunk); context.SaveChanges(); } }
public ActionResult DeleteConfirmed(int id) { NinjaEquipment ninjaEquipment = db.Equipment.Find(id); db.Equipment.Remove(ninjaEquipment); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,Name,Type,DateModified,DateCreated")] NinjaEquipment ninjaEquipment) { if (ModelState.IsValid) { db.Entry(ninjaEquipment).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(ninjaEquipment)); }
public void SaveNewEquipment(NinjaEquipment equipment, int ninjaId) { using (var context = new NinjaContext()) { // need to load Ninja and attach equipment as no FK in model // ...this could be avoided by adding a NinjaId to NinjaEquipemnt! var ninja = context.Ninjas.Find(ninjaId); ninja.EquipmentOwned.Add(equipment); context.SaveChanges(); } }
public ActionResult Edit([Bind(Include = "Id,Name,Type,DateCreated,DateModified")] NinjaEquipment ninjaEquipment) { int ninjaId; if (!int.TryParse(Request.Form["NinjaId"], out ninjaId)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } _repo.SaveUpdatedEquipment(ninjaEquipment, ninjaId); return(RedirectToAction("Edit", "Ninjas", new { id = ninjaId })); }
public void SaveNewEquipment(NinjaEquipment equipment, int postId) { //paying the price of not having a foreign key here. //reason #857 why I prefer foreign keys! using (var context = new NinjaContext()) { var post = context.Posts.Find(postId); post.EquipmentOwned.Add(equipment); context.SaveChanges(); } }
public void SaveNewEquipment(NinjaEquipment equipment, int ninjaId) { // PAYING THE PRICE OF NOT HAVING A FOREIGN KEY HERE. // REASON #857 WHY I PREFER FOREIGN KEYS! using (var context = new NinjaContext()) { var ninja = context.Ninjas.Find(ninjaId); ninja.EquipmentOwned.Add(equipment); context.SaveChanges(); } }
public void SaveNewEquipment(NinjaEquipment equipment, int ninjaId) { //paying the price of not having a foreign keys! //reason #857 why I prefer foreign keys! using (var context = new NinjaContext()) { var ninja = context.Ninjas.Find(ninjaId); ninja.EquipmentOwned.Add(equipment); context.SaveChanges(); } }
public void SaveUpdatedEquipment(NinjaEquipment equipment, int postId) { //paying the price of not having a foreign key here. //reason #858 why I prefer foreign keys! using (var context = new NinjaContext()) { var equipmentWithNinjaFromDatabase = context.Equipment.Include(n => n.Post).FirstOrDefault(e => e.Id == equipment.Id); context.Entry(equipmentWithNinjaFromDatabase).CurrentValues.SetValues(equipment); context.SaveChanges(); } }
public void SaveUpdatedEquipment(NinjaEquipment equipment, int ninjaId) { // PAYING THE PRICE OF NOT HAVING A FOREIGN KEY HERE. // REASON #858 WHY I PREFER FOREIGN KEYS! using (var context = new NinjaContext()) { var equipmentWithNinjaFromDatabase = context.Equipment.Include(n => n.Ninja).FirstOrDefault(e => e.Id == equipment.Id); context.Entry(equipmentWithNinjaFromDatabase).CurrentValues.SetValues(equipment); context.SaveChanges(); } }
// GET: NinjaEquipments/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } NinjaEquipment ninjaEquipment = db.Equipment.Find(id); if (ninjaEquipment == null) { return(HttpNotFound()); } return(View(ninjaEquipment)); }
public void SaveUpdatedEquipment(NinjaEquipment equipment, int ninjaId) { using (var context = new NinjaContext()) { // again, need to load existing entity as no FK in model and Ninja marked as [Required] // ...and again, this could be avoided by adding a NinjaId to NinjaEquipemnt! var equipmentWithNinjaFromDb = context .Equipment .Include(e => e.Ninja) .FirstOrDefault(e => e.Id == equipment.Id); context .Entry(equipmentWithNinjaFromDb) .CurrentValues .SetValues(equipment); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new Ninja() { Name = "KacyCatanzaro", ServedInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 14), ClanId = 1 }; var muscles = new NinjaEquipment() { Name = "Muscles", Type = EquipmentType.Tool }; var spunk = new NinjaEquipment() { Name = "Spunk", Type = EquipmentType.Weapon }; // // Equipments is not add explicitly on the context // It works. // // The operation is done in one transaction with one connection. // // The NinjaEquipment model don't contain a FK for a Ninja. // A FK is create to maintain the relation with from the models. // Ninja_Id // [Model]_[ModelPK] // context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(muscles); ninja.EquipmentOwned.Add(spunk); context.SaveChanges(); } }
private static void InsertNinja() { var ninjas = new List <Ninja>(); for (int i = 21; i < 30; i++) { var ninja = new Ninja { Name = "SalihSan" + i, ServedInOniwaban = (i % 2 == 0), DateOfBirth = new DateTime(1978, 11, i), ClanId = (i % 2 == 0) ? 1 : 2 }; var equipment = new NinjaEquipment() { Name = "equipment " + i, Type = EquipmentType.Weapon }; ninja.EquipmentOwned.Add(equipment); equipment = new NinjaEquipment() { Name = "equipmentTool " + i, Type = EquipmentType.Tool }; ninja.EquipmentOwned.Add(equipment); ninjas.Add(ninja); } using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; context.Ninjas.AddRange(ninjas); context.SaveChanges(); } }
public void SaveUpdatedEquipment(NinjaEquipment equipment, int ninjaId) { //paying the price of not having a foreign keys! //reason #857 why I prefer foreign keys! using (var context = new NinjaContext()) { ////Not Work! (There is no foreign key!) //context.Entry(equipment).State = EntityState.Modified; //var ninja = context.Ninjas.Find(ninjaId); //equipment.Ninja = ninja; //context.SaveChanges(); var equipmentWithNinjaFromDatabase = context.Equipment.Include(n => n.Ninja) .FirstOrDefault(e => e.Id == equipment.Id); if (equipment.Ninja.Id != ninjaId) { var ninja = context.Ninjas.Find(ninjaId); equipment.Ninja = ninja; } context.Entry(equipmentWithNinjaFromDatabase).CurrentValues.SetValues(equipment); context.SaveChanges(); } }
private static void InsertGraphNinjaWithEqiup() { var ninja1 = new Ninja { Name = "Huboy", ServedInObiOne = false, ClanId = 1 }; var eqipment1 = new NinjaEquipment { Name = "bulldozer", EquipmentType = "vehicle" }; var eqipment2 = new NinjaEquipment { Name = "sword", EquipmentType = "knife" }; using (var context = new NinjaContext()) { //Log the data from ef: context.Database.Log = Console.WriteLine; //One path is adding the ninja to the context first //then adding the equipment.When this is done EF is //smart enough to add the equipment to the context implicitly //thus linking it with the ninja1 object-- lil magic in code first convention //the untracked(not added to context) obj(eqipment) inherits the state of ninja1. //thus equipment keeps it's state when saved in the contxt context.Ninjas.Add(ninja1); ninja1.EquipmentOwned.Add(eqipment1); ninja1.EquipmentOwned.Add(eqipment2); context.SaveChanges(); } }
private static void InsertNinjaWithEquipment() { using (var context = new NinjaContext()) { context.Database.Log = Console.WriteLine; var ninja = new Ninja() { Name = "Raphel", ServiceInOniwaban = false, DateOfBirth = new DateTime(1990, 1, 1), ClanId = 1 }; var sai = new NinjaEquipment { Name = "Sai", Type = EquipmentType.Weapon }; context.Ninjas.Add(ninja); ninja.EquipmentOwned.Add(sai); context.SaveChanges(); } }