续接基于.NET的LINQ to SQL 三层架构开发之架构建立,下面是各层对数据库查询、插入、删除、更新的通用代码。
DAL层代码
//DALManager.cs
using System.Data.Linq;
using DataLinq;
namespace DAL
{
public class DALManager
{
private DataLinq.DBLinqDataContext objDataContext = new DataLinq.DBLinqDataContext();
public DALManager()
{
}
public Table<M_Manager> SelectRecordAll()
{
try
{
return objDataContext.M_Manager;
}
catch (Exception ex)
{
throw ex;
}
}
public M_Manager SelectRecordByID(string managerId)
{
try
{
return (from mng in objDataContext.M_Manager
where mng.ManagerId == managerId
select mng).Single();
}
catch
{
return null;
}
}
public string InsertRecord(M_Manager localTable)
{
try
{
objDataContext.M_Manager.InsertOnSubmit(localTable);
objDataContext.SubmitChanges();
return localTable.ManagerId;
}
catch (Exception ex)
{
throw ex;
}
}
public void UpdateRecord(M_Manager localTable)
{
try
{
objDataContext.M_Manager.Attach(localTable);
objDataContext.Refresh(RefreshMode.KeepCurrentValues, localTable);
objDataContext.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (Exception ex)
{
throw ex;
}
}
public void DeleteRecord(string managerid)
{
try
{
objDataContext.M_Manager.DeleteOnSubmit((from mng in objDataContext.M_Manager
where mng.ManagerId == managerid
select mng).Single());
}
catch (Exception ex)
{
throw ex;
}
}
}
}
BLL层代码
//BLLManager.cs
using System.Data.Linq;
using DAL;
using DataLinq;
namespace BLL
{
public class BLLManager
{
public BLLManager()
{
}
private DAL.DALManager objDataAccess = new DAL.DALManager();
public Table<M_Manager> SelectRecordAll()
{
return objDataAccess.SelectRecordAll();
}
public M_Manager SelectRecordByID(string managerid)
{
return objDataAccess.SelectRecordByID(managerid);
}
public string InsertRecord(M_Manager localTable)
{
return objDataAccess.InsertRecord(localTable);
}
public void UpdateRecord(M_Manager localTable)
{
objDataAccess.UpdateRecord(localTable);
}
public void DeleteRecord(string managerid)
{
objDataAccess.DeleteRecord(managerid);
}
}
}