EF的Insert, Update範例程式
INSERT example:
public bool Insert(YourModel model, ref string fileName)
{
using (StarBackendEntities db = new StarBackendEntities())
{
try
{
var maxNo = new BaseRepo().getMaxNo("KIND_DATA"); // 取得最大ID
if (maxNo != null)
{
KIND_DATA data = new KIND_DATA();
// 設定新資料
data.Kind_ID = (int)maxNo;
data.Kind_NAME = fileName;
data.Page_ID = model.PhotoTextProductItem.Page_ID;
data.TypeID = model.PhotoTextProductItem.TypeID;
data.PageTag = 1;
fileName = data.Kind_ID.ToString("00000") + ((int)data.Page_ID).ToString("00000") + DateTime.Now.ToString("yyyyMMddHHmmss") + "." + fileName.Split('.').Last();
data.PhotoUrl = "/Content/images/banner/" + fileName;
data.PhotoName = fileName;
data.DisplayWords = model.PhotoTextProductItem.DisplayWords;
data.PhotoProductId = model.PhotoTextProductItem.PhotoProductId;
data.WritingProductId = model.PhotoTextProductItem.WritingProductId;
data.WebUrl = model.PhotoTextProductItem.WebUrl;
data.Weight = model.PhotoTextProductItem.Weight;
data.OnlineDate = model.PhotoTextProductItem.OnlineDate;
data.OfflineDate = model.PhotoTextProductItem.OfflineDate;
data.Status = getStatus(data.OnlineDate, data.OfflineDate);
data.CreateTime = DateTime.Now;
data.CreateUser = "User";
// 寫入資料庫
db.KIND_DATA.Add(data);
db.SaveChanges();
return true;
}
else
return false;
}
catch (Exception ex)
{
return false;
}
}
}
UPDATE example:
public bool Update(YourModel model, ref string fileName)
{
using (StarBackendEntities db = new StarBackendEntities())
{
try
{
var original = db.KIND_DATA.Find(model.PhotoTextProductItem.Kind_ID);
// 確認有該筆資料
if (original != null)
{
// 取得資料庫原資料
var data = db.KIND_DATA.SingleOrDefault(x => x.Kind_ID == model.PhotoTextProductItem.Kind_ID);
// 圖片有變更才修改資料庫的圖片名稱
if (!string.IsNullOrWhiteSpace(fileName))
{
// 設定新的檔案名稱
fileName = data.Kind_ID.ToString("00000") + ((int)data.Page_ID).ToString("00000") + DateTime.Now.ToString("yyyyMMddHHmmss") + "." + fileName.Split('.').Last();
data.PhotoUrl = "/Content/images/banner/" + fileName;
data.PhotoName = fileName;
}
// 設定更新資料
data.PhotoProductId = model.PhotoTextProductItem.PhotoProductId;
data.WritingProductId = model.PhotoTextProductItem.WritingProductId;
data.WebUrl = model.PhotoTextProductItem.WebUrl;
data.DisplayWords = model.PhotoTextProductItem.DisplayWords;
data.Weight = model.PhotoTextProductItem.Weight;
data.OnlineDate = model.PhotoTextProductItem.OnlineDate;
data.OfflineDate = model.PhotoTextProductItem.OfflineDate;
data.Status = getStatus(data.OnlineDate, data.OfflineDate);
data.UpdateTime = DateTime.Now;
data.UpdateUser = "User";
// 寫入資料庫
db.Entry(original).CurrentValues.SetValues(data);
db.SaveChanges();
return true;
}
else
return false;
}
catch (Exception ex)
{
return false;
}
}
}