[training]ASP.NET MVC 5 – Entity Framework 2

public class GuestbookDB
{
    GuestbookEntities1 db = new GuestbookEntities1();
    //GuestbookEntities1: 資料庫,如一個公司別的資料庫
 
    //新增一筆資料
    public void Create(string name, string content)
    {
        Contents NewData = new Contents();
        //Contents: 資料庫底下的一個Table
        //因db.Table.Add需要寫入完整的table,所以要先產生一個Content的物件,接收各欄位的值後,再回寫至DB
        //如果接收到是完整的table,就用下一個方法,直接add到DB即可
 
        NewData.name = name;
        NewData.content = content;
 
        db.Contents.Add(NewData);
        db.SaveChanges();
    }
    public void Create(Contents NewData)
    {
        db.Contents.Add(NewData);
        //Add語法似乎是資料庫(db)專用語法,所以不可以省略db,而直接用Table的Contenes.Add
        db.SaveChanges();
    }
 
    //修改資料
    public bool Update(int id, string name, string content)
    {
        //撈資料
        Contents Data = db.Contents.Find(id);
        //不同於Create有在記憶體先產生一個物件,這邊可以直接把Data指到資料庫的位置去做修改
 
        //判斷是否有資料
        if (Data != null)
        {
            //修改資料的值
            Data.name = name;
            Data.content = content;
 
            //儲存資料變更
            db.SaveChanges();
 
            return true;
            //對應到method宣告的會回傳bool值
        }
        else
        {
            return false;
        }
    }
 
    public bool Update(Contents UpdateData)
    {
        Contents Data = db.Contents.Find(UpdateData.Id);
 
        if (Data != null)
        {
            Data.name = UpdateData.name;
            Data.content = UpdateData.content;
            //之後可以試試直接Data=UpdateData看看
 
            db.SaveChanges();
            return true;
        }
        else
        {
            return false;
        }
 
    }
 
    public bool Delete(int id)
    {
        Contents DeleteData = db.Contents.Find(id);
 
        if (DeleteData != null)
        {
            db.Contents.Remove(DeleteData);
 
            db.SaveChanges();
            return true;
        }
        else
        {
            return false;
        }
    }
 
    //取得所有資料
    public List<Contents> GetList()
    {
        //取得Contents的資料,並轉成List
        List<Contents> ContentList = db.Contents.ToList();
 
        return ContentList;
    }
 
    //取得單一筆資料
    public Contents GetContents(int id)
    {
        Contents Data = db.Contents.Find(id);
 
        return Data;
    }
}

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.