public static void Test()
{
using (var ctx = DataHelper.CreateDbContext())
{
DataHelper.AddWorkItem(Guid.NewGuid(), "SUBJECT", ctx);
DataHelper.AddDataGroup("12345", "A", ctx);
}
}
//...略...
public class DataHelper
{
//使用統一的靜態函式建立DbContext物件,避免自行建構
public static BBDPEntities CreateDbContext()
{
//正式應用時,設定檔之連線字串應加密
//在此進行讀取設定並解密以建構DbContext,細節日後介紹
return new BBDPEntities();
}
public static void AddWorkItem(Guid wuid, string subject,
BBDPEntities exCtx = null)
{
var ctx = exCtx ?? CreateDbContext())
ctx.Database.BeginTransaction();
var wi = new WorkItem()
{
Wuid = wuid,
Subject = subject
};
ctx.WorkItem.Add(wi);
if (exCtx == null)
{
ctx.SaveChanges();
ctx.Dispose();
}
}
public static void AddDataGroup(string costCenter, string jobType,
BBDPEntities exCtx = null)
{
var ctx = exCtx ?? CreateDbContext())
var dg = new DataGroup()
{
CostCenter = costCenter,
JobType = jobType
};
ctx.DataGroup.Add(dg);
if (exCtx == null)
{
ctx.SaveChanges();
ctx.Dispose();
}
}
}