⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 articletask.cs

📁 该项目中对 SQLHelper 类进行了简单封装
💻 CS
字号:
/* 
 * ArticleTask.cs @Microsoft Visual Studio 2008 <.NET Framework 3.5>
 * AfritXia
 * 2008-01-28
 * 
 * Copyright(c) http://www.AfritXia.NET/
 * 
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.Linq;

using NET.AfritXia.MyHome.DBTask.Definition;
using NET.AfritXia.MyHome.DBTask.SQLServer2005.Converter;
using NET.AfritXia.MyHome.DBTask.SQLServer2005.Entity;
using NET.AfritXia.MyHome.Model.Message;

namespace NET.AfritXia.MyHome.DBTask.SQLServer2005
{
	/// <summary>
	/// 文章数据库任务实现类
	/// </summary>
	public class ArticleTask : DBTaskBase, IArticleTask
	{
		#region IArticleTask Members
		public void Append(Article newArticle)
		{
			if (newArticle == null)
				return;

			// 创建转换器
			IConverter<Article, ArticleEntity> converter = new ArticleConverter();

			DataContext dataCtx = null;

			// 创建数据上下文
			dataCtx = new DataContext(this.DBConn != null ? this.DBConn : ConnectionFactory.CreateConnection());
			// 设置数据库事务
			dataCtx.Transaction = this.DBTranx;

			// 添加文章
			dataCtx.GetTable<ArticleEntity>().InsertOnSubmit(converter.ModelToEntity(newArticle));
			// 提交修改
			dataCtx.SubmitChanges();
		}

		public void Delete(int articleUID)
		{
			if (articleUID <= 0)
				return;

			DataContext dataCtx = null;

			// 创建数据上下文
			dataCtx = new DataContext(this.DBConn != null ? this.DBConn : ConnectionFactory.CreateConnection());
			// 设置数据库事务
			dataCtx.Transaction = this.DBTranx;

			// 获取数据表
			var articleTable = dataCtx.GetTable<ArticleEntity>();

			// 添加留言
			dataCtx.GetTable<ArticleEntity>().DeleteAllOnSubmit(from ar in articleTable where ar.UniqueID == articleUID select ar);
			// 提交修改
			dataCtx.SubmitChanges();
		}

		public void Update(Article newArticle)
		{
			if (newArticle == null)
				return;

			// 创建转换器
			IConverter<Article, ArticleEntity> converter = new ArticleConverter();

			// 获取新数据实体
			ArticleEntity newEntity = converter.ModelToEntity(newArticle);

			DataContext dataCtx = null;

			// 创建数据上下文
			dataCtx = new DataContext(this.DBConn != null ? this.DBConn : ConnectionFactory.CreateConnection());
			// 设置数据库事务
			dataCtx.Transaction = this.DBTranx;

			// 获取文章数据表
			var articleTable = dataCtx.GetTable<ArticleEntity>();

			// 创建查询
			var query = (from ar in articleTable where ar.UniqueID == newArticle.UniqueID select ar);

			// 获取旧数据实体
			ArticleEntity oldEntity = query.Single();

			// 更新数据实体
			newEntity.UpdateTo(oldEntity);

			// 提交修改
			dataCtx.SubmitChanges();
		}

		public IList<Article> GetArticleList(int orderGistValue, int startRecord, int maxRecords, out int allRecordCount)
		{
			allRecordCount = 0;

			// 创建数据上下文
			DataContext dataCtx = new DataContext(ConnectionFactory.CreateConnection());

			// 获取数据表
			var articleTable = dataCtx.GetTable<ArticleEntity>();

			// 创建转换器
			IConverter<Article, ArticleEntity> converter = new ArticleConverter();

			// 查询数据表
			var query = (from ar in articleTable select converter.EntityToModel(ar)).Skip(startRecord).Take(maxRecords);

			return query.ToList();
		}

		public Article ViewArticle(int articleUID)
		{
			// 创建数据上下文
			DataContext dataCtx = new DataContext(ConnectionFactory.CreateConnection());

			// 获取数据表
			var articleTable = dataCtx.GetTable<ArticleEntity>();

			// 创建转换器
			IConverter<Article, ArticleEntity> converter = new ArticleConverter();

			// 查询数据表
			var query = (from ar in articleTable where ar.UniqueID == articleUID select converter.EntityToModel(ar));

			return query.Single();
		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -