예제 #1
0
		public void Can_execute_update_using_expression()
		{
			using (var con = OpenDbConnection())
			{
				con.CreateTable<SimpleType>(true);
				var obj = new SimpleType {Name = "Somename"};
				con.Save(obj);
				var storedObj = con.GetById<SimpleType>(con.GetLastInsertId());

				Assert.AreEqual(obj.Name, storedObj.Name);

				obj.Id = storedObj.Id;
				obj.Name = "Someothername";
				con.Update(obj, q => q.Id == storedObj.Id);

				var target = con.GetById<SimpleType>(storedObj.Id);

				Assert.AreEqual(obj.Name, target.Name);
			}
		}
예제 #2
0
		public void Can_execute_update_only()
		{
			using (var con = OpenDbConnection())
			{
				con.CreateTable<SimpleType>(true);
				var obj = new SimpleType {Name = "Somename"};
				con.Save(obj);
				var storedObj = con.GetById<SimpleType>(con.GetLastInsertId());

				Assert.AreEqual(obj.Name, storedObj.Name);

				var ev = OrmLiteConfig.DialectProvider.ExpressionVisitor<SimpleType>();
				ev.Update();
				ev.Where(q => q.Id == storedObj.Id);
				storedObj.Name = "Someothername";

				con.UpdateOnly(storedObj, ev);

				var target = con.GetById<SimpleType>(storedObj.Id);

				Assert.AreEqual("Someothername", target.Name);
			}
		}
		public void Can_GetLastInsertedId_using_InsertParam()
		{
			var testObject = new SimpleType {Name = "test"};

			//verify that "normal" Insert works as expected
			using (var con = OpenDbConnection())
			{
				con.CreateTable<SimpleType>(true);

				con.Insert(testObject);
				var normalLastInsertedId = con.GetLastInsertId();
				Assert.Greater(normalLastInsertedId, 0, "normal Insert");
			}

			//test with InsertParam
			using (var con = OpenDbConnection())
			{
				con.CreateTable<SimpleType>(true);

				var lastInsertId = con.InsertParam(testObject, selectIdentity: true);
				Assert.Greater(lastInsertId, 0, "with InsertParam");
			}
		}