本文整理汇总了C#中Mono.Data.Sqlite.Orm.Tests.OrmTestSession.Execute方法的典型用法代码示例。如果您正苦于以下问题:C# OrmTestSession.Execute方法的具体用法?C# OrmTestSession.Execute怎么用?C# OrmTestSession.Execute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Data.Sqlite.Orm.Tests.OrmTestSession
的用法示例。
在下文中一共展示了OrmTestSession.Execute方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DropTableUsingSqlString
public void DropTableUsingSqlString()
{
var db = new OrmTestSession();
db.CreateTable<Product>();
var results = db.Execute("DROP TABLE IF EXISTS Product;");
}
示例2: SqlQuery
public void SqlQuery()
{
var expected = "абвг";
var db = new OrmTestSession();
db.CreateTable<Product>();
var product = new Product { Name = TestString };
db.Insert(product);
db.Execute("UPDATE Product SET Name = '" + expected + "' WHERE Id = " + product.Id);
var ps = (from p in db.Table<Product>()
where p.Name == expected
select p).ToList();
Assert.AreEqual(1, ps.Count);
Assert.AreEqual(expected, ps[0].Name);
}
示例3: 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);
}
示例4: CreateTableWithoutIndexesTest
public void CreateTableWithoutIndexesTest()
{
var db = new OrmTestSession();
// the table
db.CreateTable<IndexedTable>(false);
// the indexes
var map = db.GetMapping<IndexedTable>();
foreach (var index in map.Indexes)
{
db.Execute(index.GetCreateSql(map.TableName));
}
// the test
db.Insert(new IndexedTable { Indexed = 1 });
ExceptionAssert.Throws<SqliteException>(
() => db.Insert(new IndexedTable { Indexed = 1 }));
}