请教新设计的数据库组建, 关于跨数据库的一点心得, 大家一起讨论一下(二)
上次发表的 请教新设计的数据库组建, 关于跨数据库的一点心得, 大家一起讨论一下 收到了好多意见,感激一下,
当然,由于未曾收到一条正面意见,再次被沉重打击了一番
在高手丢里说话还真麻烦。
引言:
上次的设计虽然可以跨数据库, 使用也不麻烦,
可是每个函数都带着数据库到处跑确实不是很方便。
参照着nhibernate自己(绝非代码上的,毕竟根本看不懂nhibernate的代码)
思路:
照着nhibernate,所以当然很清晰了:
DBSession嘛。
实现:
配置什么的和上次的都一样, 不罗嗦了,
糟糕的代码也不贴,sqlQuery也不贴了,干扰感觉。直接看看实现效果:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using Tianv;
using Tianv.DBUtility;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
using (DBSession dbSession = new DBSession())
{
tianv_news news = tianv_news_controler.Select(158);
Response.Write(news.title + "<br />");
dbSession.BeginTransaction();
news.title = "hohohohohoho";
tianv_news_controler.Update(news);
news = tianv_news_controler.Select(158);
Response.Write(news.title + "<br />");
dbSession.Rollback();
news = tianv_news_controler.Select(158);
Response.Write(news.title + "<br />");
}
}
}
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using Tianv;
using Tianv.DBUtility;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
using (DBSession dbSession = new DBSession())
{
tianv_news news = tianv_news_controler.Select(158);
Response.Write(news.title + "<br />");
dbSession.BeginTransaction();
news.title = "hohohohohoho";
tianv_news_controler.Update(news);
news = tianv_news_controler.Select(158);
Response.Write(news.title + "<br />");
dbSession.Rollback();
news = tianv_news_controler.Select(158);
Response.Write(news.title + "<br />");
}
}
}
运行结果:
全球网站超1.08亿 微软IIS份额提升
hohohohohoho
全球网站超1.08亿 微软IIS份额提升题外