[トレーニング]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;
        }
    }

コメントを残す

注意してください: コメントモデレーションが有効になって、あなたのコメントを遅らせる可能性があります. コメントを再送信する必要はありません.