EntityFramework 추가 삭제 및 수정

2659 단어
17-2-23
EF 데이터베이스 테이블에는 주 키가 있어야 합니다.
[EF 수정 및 삭제] ctx.Entry(user).State = System.Data.Entity.EntityState.Modified;
    #region  
        /*
        //1. 
        var ctx = new UserInfoEntities();

        //2. 
        UserInfoTable user = new UserInfoTable();
        user.UserName = "Futao00";
        user.Pwd = "1223";
        user.Sex = " ";
        user.Tel = "18797811992";

        //3. ( EF curd)
        ctx.UserInfoTable.Add(user);
        //ctx.UserInfoTable.Remove();
        //4. , curd
        ctx.SaveChanges();
        */
      #endregion

//수정할 때 메인 키의 값을 지정하려면 메인 키에 따라crud만 할 수 있기 때문에EF의 데이터 테이블은 반드시 자신의 메인 키를 설정해야 한다#region 수정 삭제 작업//1.인스턴스화된 컨텍스트 객체 UserInfoEntities dbContext = new UserInfoEntities(),//2. 실체 대상을 실례화하고 대상의 메인 키와 대상이 수정된 값을 동시에 지정한다. UserInfoTable userA = new UserInfoTable().userA.UserName = "Futao";//주 키 지정//userA.Tel = "xxx";//userA.Pwd = "xxx";//userA.Sex = "xxx";
        userA.Sex = "000000";
        //3. EF 
        //dbContext.Entry(userA).State = System.Data.Entity.EntityState.Modified;
        // Attach 
        dbContext.UserInfoTable.Attach(userA);
        //dbContext.Entry(userA).Property(u => u.Sex).IsModified = true;
        dbContext.Entry(userA).Property("Sex").IsModified = true;
        //dbContext.Entry(userA).State = System.Data.Entity.EntityState.Deleted;
        //4. 
        dbContext.SaveChanges();
      #endregion


      #region  
        UserInfoEntities dbContext = new UserInfoEntities();
        // 
        foreach (var v in dbContext.UserInfoTable)
        {
            Console.WriteLine(v.UserName + "\t" + v.Pwd + "\t" + v.Sex + "\t" + v.Tel);
        }
        // Linq
        var tempSQL = from u in dbContext.UserInfoTable
                      where u.Pwd == "123"
                      select u.UserName + "\t" + u.Pwd + "\t" + u.Sex + "\t" + u.Tel;

        // 
        foreach (var x in tempSQL)
        {
            Console.WriteLine(x);
        }
      #endregion

보충: 솔리드 Entity란 무엇인지, 솔리드와 모델 모델 모델 간의 관계http://www.cnblogs.com/hellenism/p/3812947.html?utm_source=tuicool&utm_medium=referrallambda 표현식 Linq
【방과후 숙제】(팀 단위로 패키지 발송, 메일)시간: 다음 주 1, 17-2-27까지
목표: 교과 과정 정보의 첨삭과 개편을 실현하다. 비고: 교과 과정 정보: 교과 과정 번호(주키), 교과 과정 이름, 교과 선생님(교원 번호), 비고
요구 사항: 1.데이터베이스 구축, 표 2.콘솔 프로그램 구축, EF 솔리드 모델 3.SQL 문구 제공(데이터베이스 Profilter가 모니터링한 SQL 문구)

좋은 웹페이지 즐겨찾기