工程:Smart ORM .NET
版本: 0.4.1
授权方式:GNU GPL
著作权所有(c) 2007-2008 Midapex
本程序为自由软件;您可依据自由软件基金会所发表的GNU通用公共授权条款规定,
就本程序再为发布与/或修改;无论您依据的是本授权的第二版或(您自行选择的)
任一日后发行的版本。本程序是基于使用目的而加以发布,然而不负任何担保责任;
亦无对适售性或特定目的适用性所为的默示性担保。详情请参照GNU通用公共授权。
工程下载地址:https://files.cnblogs.com/dyj057/smartorm.0.4.1.rar
该版本新特性:
- 添加对SQLite数据库的支持
- 添加新的数据库操作工厂类Orm,增强了事务处理能力。
- 为OrmSession添加了IDisposable接口,把它作为一个数据库连接的封装,改动比较大。
- 添加对Char类型成员的支持。
- 去掉单指和多值在特性标注上的区别,改为实体类型数据列(EntityColumnAttribute)
添加Orm类后,操作变得更加简单。例子代码如下:
1 private static void TestOrmFactory()
2 {
3 Console.WriteLine("Test Orm OP");
4
5 if (Orm.IsTableExist<Person>())
6 {
7 Orm.DeleteTable<Person>();
8 }
9
10 //Create entity table
11 Orm.CreateTable<Person>();
12
13 Person p = new Person("Tom");
14 p.Age = 12;
15
16 //Save person object to db
17 Orm.Save(p);
18
19 p.Age = 13;
20 //Update tom's age to 13
21 Orm.Update(p);
22
23 //Load all Person objects
24 Person[] result = Orm.LoadAll<Person>();
25 foreach(Person item in result)
26 {
27 Console.WriteLine("Load a Person Name:{0}, Age:{1}", item.Name, item.Age);
28 }
29
30 //Select a person
31 result = Orm.Select<Person>(new Query("age=13"));
32
33 foreach(Person item in result)
34 {
35 Console.WriteLine("Select a Person Name:{0}, Age:{1}", item.Name, item.Age);
36 }
37
38 //Safe query
39 Query query = new Query(string.Format("{0}={1}",Orm.QuoteName("age"),Orm.QuoteParam("age")));
40 query.Params.Add(new QueryParam("age",13));
41 result = Orm.Select<Person>(query);
42
43 foreach(Person item in result)
44 {
45 Console.WriteLine("Safe Select a Person Name:{0}, Age:{1}", item.Name, item.Age);
46 }
47 }
祝各位新年快乐!!