📄 articletask.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 + -