EntityFramework 리프레쉬(?) 관련 문의입니다
276
3 câu hỏi đã được viết
안녕하세요. EntityFramework 데이터 리프레쉬(?) 관련 질문을 드릴려고 합니다
현재 데이터 리스트 호출하는 방식은 EntityFramework 방식으로 가져오고 있고
데이터 삽입은 SQL 프로시저를 이용하고 있는데요.
프로시저 호출해서 데이터 삽입 후에 EntityFramework 방식으로 데이터 리스트를 다시 가져오는 과정에서
이미 추가된 데이터가 EntityFramework 방식의 리스트안에 실시간으로 포함되지 않고 있어서요...
Project를 다시 빌드후에 실행을 해야지 추가된 데이터가 리스트에 포함되고 있습니다
죄송하지만 혹시 EntityFramework 방식을 이용해서 갱신된 DB 데이터를 가져오게 하는 어떤 방법이 있을까요?
참고 할수 있는 사이트 주소라도 알려주시면 감사드리겠습니다 ^^;;;
Câu trả lời 3
0
작성하신 코드를 글로 적어주시면 제가 코멘트 해드리겠습니다.
뭉뚱그려 말씀하시면, 코드가 제대로 작동 안되는 이유를 제가 알 수가 없어서요.
가능하시면 만드시는 페이지 화면 캡처도 부탁드려요.
0
자세한 설명 감사드립니다 ^^
다만 제가 아직 초보라서 죄송하지만 다시 한번만 문의드리겠습니다 ㅎㅎ
데이터 리스트를 EntityFramework로 가져오고 있는 페이지가 있는데
sql 쿼리창에서 직접 데이터를 Update / Delete / Insert 한 뒤에
EntityFramework로 가져오고 있는 페이지를 새로고침해도
변경되기 이전의 데이터를 가져오고 있습니다..
이럴 경우 EntityFramework로 가져오는 방식 자체에 문제가 있는것인지
다시 한번 문의를 드리겠습니다
0
vyrudaks님, 반갑습니다.
"EntityFramework 방식을 이용해서 갱신된 DB 데이터를 가져오게 하는 방법"에 대해
문의하셨네요.
결론부터 말씀드리면, Entity Framework Core에 그런 기능은 없지만 C# 코드 상에서 구현할 수는 있습니다.
Entity Framework Core가 ORM의 한 종류이니 ORM 관점에서 말씀드리면,
ORM이 DB에 Create(추가), Update(갱신), Delete(삭제) 작업을 하고
DB로 부터 Read(조회)를 합니다.
질문 앞부분에서 "데이터 삽입 후에 리스트를 다시 가져오는 과정에서 이미 추가된 데이터가
실시간으로 포함되지 않는다"고 하셨는데요.
ORM을 크게 보면 Web이라는 울타리 안에서 작동하기에 비연결성을 유지합니다.
즉, Application이 DB와 계속 연결접속되어 있지 않고, 필요할 때마다 CRUD 방식으로
DB와 연결 소통하는 것입니다.
따라서 DB로부터 리스트를 가져온 후에 DB에 데이터를 추가했다면,
추가한 데이터가 자동으로 리스트에 포함된 것이 아니라, 다시 DB에서 전체리스트를
받아와야 하는 것입니다.
성능상으로도 안 좋아 보이고 뭔가 불합리하게 보이지만, Web의 기본 메커니즘이 그렇기
때문입니다. 그렇지만, 매 번 전체리스트를 받아올 필요는 없습니다.
각설하고, Application에서 리스트 정보를 갖고 있고, 데이터가 DB에 확실히 추가되었다면
다시 DB에서 전체리스트를 가져올 필요는 없겠죠?
그래서 코드로 설명드리면,
var list = _dbContext.Bookmarks.ToList();
즐겨찾기 list 정보를 갖고 있습니다.
_dbContext.Bookmarks.Add(Bookmark);
int createCount = _dbContext.SaveChanges();
즐겨찾기 데이터를 DB에 추가합니다.
if (createCount == 1) {
// list = _dbContext.Bookmarks.ToList();
Bookmarks.Insert(0, Bookmark);
}
데이터 추가가 성공했다면 DB에서 리스트를 다시 가져오는 것이 아니라(커멘트 처리한 부분처럼)
추가한 데이터를 내가 갖고 있으므로(Bookmark) 그것을 이전에 갖고 있던 list에 추가합니다.
이렇게 하면 DB에서 전체리스트를 다시 조회해서 가져올 필요가 없이
View 화면에 전체리스트를 출력할 수 있는 것입니다.
이해를 돕기 위해 하단에 화면캡처 이미지를 첨부합니다.
혹시 이해가 안되는 부분에 대해 질문하시면 또 상세하게 추가설명해 드리겠습니다.
즐거운 하루 되세요.
DB Azure 활용 방법 문의 & UI 구성
0
121
1
Email Unique Index 지정 update 오류
0
147
2
03 보고 있는데 VS2022로 뭘 어째야 하는건지 감이 안와요... 인터페이스가 너무 달라요
0
323
1
ADO.NET 엔터티 데이터 모델이 없어요
0
617
1
두번째 강의 의존성주입에서 startup 클래스가 없습니다.
0
701
2
Login 뷰에서 MembershipController연결 방식문의
0
370
1
14일만에 배우는 ASP.NET CORE 질문
1
411
1
안녕하세요 강사님.
0
375
2
안녕하세요.
0
355
1
질문이 있습니다.
0
331
1
AccessFailedCount 추가 시 NULL값 문제
0
424
1
마이그레이션 완료 후 Update DB 에서 에러가 납니다 ㅠ
0
859
2
시작페이지 바꿀수있을까요?
0
254
1
강사님 레이아웃이 없습니다.
0
334
1
.NET 5.0 FromSql 질문
0
322
1
질문있어요 . 마지막에 나오는 파일xml
0
232
2
Add-Migration ~~ 사용시 add-migration : 'add-migration'이라는 용어는 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다.
1
1466
3
2019 비주얼스튜디오 쓰고있습니다. 아무리 찾아봐도 c# 기반 mvc가 없습니다.
0
284
1
03. MVC패턴 강의 질문입니다.
0
345
1
세션1 뷰 생성에서 막히고 있습니다..
0
309
1
로그아웃 후 브라우저 뒤로가기 버튼 클릭시 이전 페이지 접속 안되게 하는 방법
0
1291
1
하위 도메인 쿠키 공유 관련
0
975
2
DbContext를 찾을 수 없습니다.
0
308
1
Model Validation에 관해
0
269
2

