今天花时间把ObjectSpaces SDK看了一下

SDK是EAP(Early Adopters' Preview)版本的,这个版本可以跑在.Net Framework 1.1下面。整个并不复杂,用法也很简洁明了。


/*
    TableMappings.xml是一个描述表与实体对象的对应关系(表中的哪个字段对应实体对象的哪个Property)的xml文件。
    DataSource.xml是一个描述数据源信息(基本上就是给一个连接字符串)的xml文件。
    ObjectSpace类用来维护数据库与实体对象间的连接。
*/
ObjectSpace os = new ObjectSpace(”TableMappings.xml”,”DataSource.xml” ) ;

/*
    ObjectContext是一个维护实体对象的类
*/
CommonObjectContext context = new CommonObjectContext(os.ObjectMappings);

/*
    随手写的例子,一个Person类,假设已经定义好
*/
Person kaixin = new Person();
kaixin.FullName = “开心”;
kaixin.Age = 27;

/*
    把这个实体对象加入到ObjectContext对象中
*/
context.Add(kaixin);

/*
    通过ObjectSpace对象的Update()方法,把这个新增的实体对象写回数据库
*/
os.Update(context, kaixin, UpdateOptions.Default);

/*
    通过ObjectReader对象把数据库中所有FullName为'开心'的数据读出来
*/
ObjectReader reader = os.GetObjectReader(context, new ObjectQuery(typeof(Person), “FullName = '开心'” ) ) ;

/*
    遍历取出的数据,注意,从reader中取值不需要做Cast操作哦
*/
foreach(Person p in reader) {
    Console.WriteLine(“Age of {0} is {1}.”, p.FullName, p.Age.ToString());
}


当然啦,如何在那个传进ObjectSpace构造函数的TableMappings.xml文件中定义好表与实体类,字段与属性的关系,是关键啦。这个文件中还可以定义Insert、Update、Delete用哪些StoredProcedure来处理等等,当然,也可以描述Parent-Child关系。

直接在这里打的代码中的双引号会自动转成全角的,呵呵。

原文地址:https://www.cnblogs.com/kaneboy/p/2436685.html