using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using wcftest.wcf; using wcftest.EnumDefine; using System.Collections.Generic; using Newtonsoft.Json; using wcftest.orm; using wcftest.BussinessExtension; using wcftest.BussinessExtension.Handle; using System.Linq; using wcftest.sendToSap; namespace WMS_UnitTest { [TestClass] public class EFTest { [TestMethod] public void TestEFTrans() { using (dbModel mod = new dbModel()) { using (var trans = mod.Database.BeginTransaction()) { try { Wms_FreeTimeMoveLocationTaskDetails date = new Wms_FreeTimeMoveLocationTaskDetails() { Task_Id = 222 }; mod.Wms_FreeTimeMoveLocationTaskDetails.Add(date); mod.SaveChanges(); //return; throw new Exception("11"); Wms_FreeTimeMoveLocationTaskDetails date2 = new Wms_FreeTimeMoveLocationTaskDetails() { Task_Id = 444 }; mod.Wms_FreeTimeMoveLocationTaskDetails.Add(date2); mod.SaveChanges(); trans.Commit(); } catch (Exception) { trans.Rollback(); throw; } } } } [TestMethod] public void TestEFSavechange() { using (dbModel mod = new dbModel()) { for (int i = 0; i < 5; i++) { var ProductCode = "A7EQDG10 99 002-01"; ProductCode = "A7EQD-5141154321"; var plateCode = "10529"; var aa = mod.Base_ProductPosition.Where(x => x.PlateCode == plateCode).FirstOrDefault(); aa.ProductStorage = aa.ProductStorage - 1; //查询 var bb = mod.Base_ProductPosition.Where(x => x.PlateCode == plateCode).FirstOrDefault(); //经过测试,这里获取的bb,就是前面代码 aa.ProductStorage = aa.ProductStorage - 1;执行后的对象,也就是说虽然数据库没改,但是内存中的数量是变了 bb.ProductStorage = aa.ProductStorage - 1; } mod.SaveChanges(); } } [TestMethod] public void TestEFRemove() { using (dbModel mod = new dbModel()) { var plateCode = "10529"; var aaList = mod.Base_ProductPosition.Where(x => x.PlateCode == plateCode).ToList(); for (int i = 0; i < 5; i++) { mod.Base_ProductPosition.Remove(aaList[0]); //查询 var id = aaList[0].ProductPosition_Id; var bb = mod.Base_ProductPosition.Where(x => x.ProductPosition_Id == id).FirstOrDefault(); //经过测试,这里还是能获取上面Remove删除的对象的。。 bb.ProductStorage = 0; } //mod.SaveChanges(); } } } }