随笔 - 49  文章 - 2  评论 - 382 
一、如何设置int型的主键字段自增长?
现在得到了答案:设置此字段为主键并只设置get属性
但是对于我现在的要求,这个还不能满足,或者我的设计不合理。下面说明我的设计。

如图所示,Linkman为Apply和Course共用,因此我没有设置包含(contain)关系,而是使用反向引用(FkReverseQuery)。但是Linkman本身独立存在是没有意义的,所以并没有设计独立的Service类,而是作为Apply和Course的属性随他们保存时保存。由于是反向引用,所以Apply和Course分别保存有一个LinkmanID的属性,在Apply或Course创建的时候,首先创建保存Linkman,获得Linkman在数据库中的ID并设置其属性,然后保存Apply或Course自身。因此,按照这个设计,我必须让Linkman的主键ID自增长,也需要其可以设置。现在NBear版本中我不知道如何做到。

二、如何使用事务?
这也是上面的设计衍生出来的需求。我在保存的时候需要保证Linkman与Apply同时成功或者同时失败。看到NBear有事务功能,但是没有看到任何示例代码或者说明,所以希望可以得到指点。

红马天下 版权所有
博客:http://homer.cnblogs.com/
欢迎转载,但转载必须注明作者和出处。

posted on 2007-02-01 14:52 红马天下 阅读(425) 评论(1)  编辑 收藏 所属分类: Asp.Net

  回复  引用  查看    
2007-02-02 13:30 | Teddy's Knowledge Base      
感觉你设计的这个结构不是很适合使用ORM来持久化。建议将Apply和Course设置为从Linkman继承。这样就能基本满足你的需求。例如,当Apply的一个实例save时,nbear内部会先save一个Linkman到Linkman表,再自动将Linkman的ID赋给Apply,save一个Apply到Apply表。整个save过程内部是有事务保护的。

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接: