エンティティによりデータサービスの作成及びCRUD

・データサービスの作成をする

 ・エンティティXXの非公開インスタンスをする

private TestEntities testEntities = new TestEntities();


 ・プロパティの作成をする

        public DbSet<T_Student> T_Students //T_Studentsテーブル相當
        { 
            get { return this.testEntities.T_Student; }
        }

 ・エンティティ保存メソッドの作成をする

       public void DbSaveChanges() //エンティティ保存
        {
            this.testEntities.SaveChanges();
        }


・データ挿入メソッドの作成をする

        public void AddStudent(string id, string name, string sex, int age, string pro)
        {
            T_Student student = new T_Student
            {
                stuId = id,
                stuName = name,
                stuSex = sex,
                stuAge = age,
                stuPro = pro
            };
            T_Students.Add(student);
            DbSaveChanges();
        }

・データ読み出しメソッドの作成をする

      public ObservableCollection<T_Student> GetStudents()
        {
            ObservableCollection<T_Student> students = new ObservableCollection<T_Student>();
            foreach (var item in T_Students)
            {
                T_Student student = new T_Student();
                student.stuId = item.stuId;
                student.stuName = item.stuName;
                student.stuSex = item.stuSex;
                student.stuAge = item.stuAge;
                student.stuPro = item.stuPro;
                students.Add(student);
            }
            return students;
       }

・データ削除メソッドの作成をする

        public void RemoveStudent()
        {
            T_Student student = new T_Student { stuName= "Test" };
            //var student = T_Students.Single(x => x.stuName == "Test");
            T_Students.Remove(student);
            DbSaveChanges();
        }


        /// <summary>
        /// データ削除する
        /// </summary>
        public void DeleteStudent(string id)
        {
            T_Student student = new T_Student { stuId = id };
            T_Students.Attach(student);
            testEntities.Entry(student).State = EntityState.Deleted;
            DbSaveChanges();
        }


・データ更新メソッドの作成をする

                public void UpDateStudent()
        {
            T_Student student = new T_Student { stuName = "Test" };
            //var student = T_Students.Single(x => x.stuName == "Test");
            student.stuName = "NewTest";
            DbSaveChanges();
        }


        public void ModifyStudent()
        {
            var student = new T_Student
            {


            };


            T_Students.Attach(student);


            //studentエンティティを取得、修正する
            var setEntry = ((IObjectContextAdapter)testEntities).ObjectContext.ObjectStateManager.GetObjectStateEntry(student);
            setEntry.SetModifiedProperty("stuId");
            setEntry.SetModifiedProperty("stuName");


            DbSaveChanges();
        }


        public void ModifyStudent1()
        {
            var student = new T_Student
            {


            };


            T_Students.Attach(student);


            testEntities.Entry(student).State = EntityState.Modified;
            DbSaveChanges();
        }



發佈了23 篇原創文章 · 獲贊 0 · 訪問量 4684
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章