本文整理汇总了C#中Mono.Data.Sqlite.Orm.Tests.OrmTestSession.Delete方法的典型用法代码示例。如果您正苦于以下问题:C# OrmTestSession.Delete方法的具体用法?C# OrmTestSession.Delete怎么用?C# OrmTestSession.Delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Data.Sqlite.Orm.Tests.OrmTestSession
的用法示例。
在下文中一共展示了OrmTestSession.Delete方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MultiplePkOperations
public void MultiplePkOperations()
{
var db = new OrmTestSession();
db.CreateTable<TestObj>();
// insert
const int n = 10 , m= 5;
var objs = new TestObj[n * m];
for (int j = 0; j != n; ++j)
{
for (int i = 0; i != m; ++i)
{
objs[j * m + i] = new TestObj {Id = j, SubId = i, Text = "I am (" + j + "," + i + ")"};
}
}
int numIn = db.InsertAll(objs);
Assert.AreEqual(numIn, n * m, "Num inserted must = num objects");
var obj = db.Get<TestObj>(5, 3);
Assert.AreEqual(5, obj.Id);
Assert.AreEqual(3, obj.SubId);
Assert.AreEqual("I am (5,3)", obj.Text);
try
{
db.Insert(obj);
}
catch (SqliteException ex)
{
Assert.AreEqual(SQLiteErrorCode.Constraint, ex.ErrorCode);
}
// update
obj.Text = "I've been changed";
db.Update(obj);
db.Update<TestObj>("Text", "I've been changed also", 8, 2);
obj = db.Get<TestObj>(5, 3);
Assert.AreEqual("I've been changed", obj.Text);
obj = db.Get<TestObj>(8, 2);
Assert.AreEqual("I've been changed also", obj.Text);
db.UpdateAll<TestObj>("Text", "All changed");
IEnumerable<TestObj> q1 = from o in db.Table<TestObj>() select o;
foreach (TestObj o in q1)
Assert.AreEqual("All changed", o.Text);
TestObj[] q2 = (from o in db.Table<TestObj>() where o.SubId == 3 select o).ToArray();
Assert.AreEqual(10, q2.Length);
for (int i = 0; i != 10; ++i)
{
Assert.AreEqual(i, q2[i].Id);
}
object numCount = db.Table<TestObj>().Count();
Assert.AreEqual(numCount, objs.Length, "Num counted must = num objects");
// delete
obj = db.Get<TestObj>(8, 2);
db.Delete(obj);
try
{
var item = db.Get<TestObj>(8, 2);
Assert.Fail();
}
catch (InvalidOperationException)
{
}
catch (Exception ex)
{
Assert.Fail(ex.Message);
}
db.Execute("delete from TestObj where SubId=2");
numCount = db.ExecuteScalar<int>("select count(*) from TestObj");
Assert.AreEqual(numCount, objs.Length - 10);
foreach (TestObj o in (from o in db.Table<TestObj>() select o))
Assert.AreNotEqual(2, o.SubId);
}
示例2: StringPrimaryKeys
public void StringPrimaryKeys()
{
using (var db = new OrmTestSession())
{
db.CreateTable<StringKeyObject>();
// insert 2 items
db.Insert(new StringKeyObject { Key = "Name", Value = "Matthew" });
db.Insert(new StringKeyObject { Key = "Age", Value = "19" });
// see if they saved
Assert.AreEqual(2, db.Table<StringKeyObject>().Count());
// get the age
var fromDb = db.Table<StringKeyObject>().Where(x => x.Key == "Age").Single();
// make sure they are correct
Assert.AreEqual("Age", fromDb.Key);
Assert.AreEqual("19", fromDb.Value);
// try updating
db.Update(new StringKeyObject { Key = "Name", Value = "Matthew Leibowitz" });
// make sure it wasn't an add
Assert.AreEqual(2, db.Table<StringKeyObject>().Count());
// get the name
fromDb = db.Table<StringKeyObject>().Where(x => x.Key == "Name").Single();
// make sure the name has changed
Assert.AreEqual("Matthew Leibowitz", fromDb.Value);
// try a delete
db.Delete(new StringKeyObject { Key = "Age" });
// ensure it was really deleted
Assert.AreEqual(1, db.Table<StringKeyObject>().Count());
}
}