RSS

Monthly Archives: 十月 2003

PDC每日视频

前三个结果就是这三天的每日视频集锦:
http://www.microsoft.com/downloads/results.aspx?sortCriteria=date&OSID=&productID=C9C8FCFB-BFF3-40CA-B59D-216F6850000A&CategoryID=&freetext=&DisplayLang=zh-cn&DisplayEnglishAlso=on

 

Posted by on 2003/10/31 in 未分类

1 Comment

ORM是否降低了灵活性?

第一个疑问是,如果采用ORM,那么是否还需要存储过程?

存储过程的用处不仅仅是效率的提升,更重要的应该是提升了数据库对于系统中数据访问层的清晰度,数据库提供给数据访问层的,不再是一个通用的可以执行SQL语句的入口,而是更像接口函数一样的存储过程。

但是,ORM的出现,使得数据访问层在系统中的作用大大降低,由于ORM可以自动对Entity对象与数据库中的Table进行字段与属性的映射,所以我们实际可能已经不需要一个专用的、庞大的数据访问层。存储过程的作用也就变得模糊起来。

想想ORM诞生的一个原始动力,使我们可以在不需要了解低层数据库的基础上,就可以直接利用它,而不需要再去了解SQL这些数据库的东东。(Java环境中著名的Hiberate的意思就是冬眠,让数据库和SQL语句冬眠。)而再去写一个个的存储过程,反而违反了ORM的初衷。

OK,于是再引出第二个问题。如果我们在系统中全面采用ORM访问数据库(在.Net Framework 1.2中,这叫Accessing data with ObjectSpaces替代Accessing data with Ado.net),是不是降低了我们系统的灵活性了呢?

在实际的系统中,每个数据层决不仅仅就只是那统一的几个方法(返回所有数据、根据ID返回数据,根据Parent的ID返回Child数据,根据ID更新数据….等等…),为了让它工作得更好,我们总会根据具体的情况增加一些必要的方法(根据××返回记录行数…)或更特殊的方法。在这样的场合,ORM显得很笨拙,要实现同样的效果,需要费更多的周折。

不知大家怎么看待这个问题,有何看法和见解?哇,过十点半了,闪人,回家乐……

 

Posted by on 2003/10/30 in 未分类

13 Comments

.Net Framework 1.1 sp1 beta 出台

 

Posted by on 2003/10/30 in 未分类

评论关闭

今天花时间把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关系。

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

 

Posted by on 2003/10/29 in 未分类

4 Comments

呼,今天早点回家去看看.Net Framework 1.2的Document

这两天好累啊,眼睛都有点红红的,今天早点闪,回家。

家里电脑上装上了.Net Framework 1.2,文档里面好像比1.1多了不少东东,至少看到了ObjectSpaces了。

好像是在ccboy那里看到说蓝色理想把1.2的文档至少看两遍了,强人啊…不过蓝色理想的站点上的确不少ASP.Net 2.0的东东。

 

Posted by on 2003/10/28 in 未分类

2 Comments

开始把准备把Exchange的一些基本操作和设置与SharePoint结合起来

最开始做SharePoint的那个项目的时候,就把用户放在了域-OU里面管理,就是计划以后可以和Exchange Server整合。

今天从网上把Exchange Server 2003的SDK下载了回来,准备将用户的邮件管理的一些东西和SharePoint结合起来。

下一步的计划是把工作流(报表、公文审批)加进来。

 

Posted by on 2003/10/28 in 未分类

16 Comments

Tags:

虽然偶去不了PDC,但还是盼望PDC

微软已经在MSDN站点和ASP.NET站点新增了Whidbey的内容,不少图片:
http://www.asp.net/whidbey/
http://msdn.microsoft.com/asp.net/whidbey/

Longhorn的SDK也出现在了MSDN上,看来Win32 API的确可能快走到头了,SDK Refrence里面看来都是.Net的东东,在Longhorn下开发看来已经离不开.Net了。

为什么偶盼望PDC呢,因为看来PDC上会公布不少有关Longhorn和Whidbey的东东,很可能也会给参与大会的人员分发Whydbey PDC Preview版(就像当年也是在PDC上给与会者分发VS.Net PDC Preview版一样),那网上也很快会有相关的下载,那偶不就…嘿嘿…

 

Posted by on 2003/10/28 in 未分类

5 Comments

今天看了看OPF.Net的文档

OPF.Net是一个实现ORM的类库,http://www.littleguru.net/index.aspx,感觉其整个结构还是不错,就是太过烦杂了,我想如果真用起来肯定写代码也是比较麻烦罗嗦。

各位在项目开发中有用一些ORM的产品吗?还是都是干脆自己写?

 

Posted by on 2003/10/27 in 未分类

1 Comment

今天才知有一个CollectionBase类,惭愧

今天看别人的一段代码,看到他的集合类都是通过继承CollectionBase类来实现的,赶紧看MSDN帮助,才发现.net已经提供了三个抽象的类来给我们继承以实现自定义的集合类:

CollectionBase  基本的集合类
ReadOnlyCollectionBase  只读的
DictionaryBase  基本的key-value集合类

惭愧惭愧,以前自己的代码中的集合类都是通过实现IList,然后通过聚合(内部的一个ArrayList)来实现,呜呜…

看来学习永无止境啊…努力!

 

Posted by on 2003/10/25 in 未分类

8 Comments

在小气的神的Blog上看到的一段Video

http://www.dotnettools.org/download/com/realizing_potential_dopod.wmv

是微软的广告,相当棒。

我想,里面体现的理念,可能就是微软的目标和企业文化吧,就像当年Bill Gates的“让每个办公桌上都有一台PC”。这样的企业理念比国内公司的那些空洞、大话、没人相信的所谓企业理念和企业文化要更能被员工接受并鼓舞员工前进吧?

 

Posted by on 2003/10/25 in 未分类

9 Comments