프로젝트에서 EF 및 LINQ를 사용하기 시작했으며 사용할 최적의 방법/패턴을 결정하려고합니다. 지금까지는 DataSets 및 XML 구성을 기반으로하는 사용자 지정 지속성 프레임 워크를 사용했습니다. 기본적으로 XML 구성 파일과 DataSets을 읽고 모든 필요한 속성/연결/메서드가있는 객체 지향 클래스를 생성하는 VS 사용자 지정 도구였습니다. 이 자동 생성 클래스는 UI에서 사용되었으며 UI에 필요한 것만 표시 할 수있는 유연성이있었습니다.Entity Framework, LINQ 및 패턴
이제는 EF 및 LINQ를 사용하여 UI에서 자동 생성 클래스 및 모든 LINQ 항목을 직접 사용할 수 있다는 생각에 만족하지 않습니다. 이 접근 방식은 UI와 데이터베이스간에 매우 긴밀한 통합이 필요합니다.
그래서 모든 EF 및 LINQ 기능을 숨기고 UI가 할 수있는 일을 기본적으로 제한하는 패턴을 찾고 있습니다. 이 작업을 수행하는 표준 방법이 있습니까?
MVVM은 UI에서 데이터 영역을 분리하는 것과 아무 관련이 없습니다. MVC와 유사하지만 Controller를 ViewModel로 대체 한 UI 패턴입니다. 데이터 변경 사항을 관찰하고 변경 사항을 다른 옵저버에게 복제하는 것에 관한 것입니다. 일반적으로 MVVM은 Silverlight 또는 WPF (때때로 자바 스크립트)와 같은 것으로 만 사용됩니다.이 질문의 맥락에서는 의미가 없습니다. –
MVVM에 대한 최소한의 이해는 사용자의 UI와 모델 (모델이 데이터베이스,이 경우 또는 서비스 호출 또는 XML 문서 등)에서 분리되는지 여부와 관련이 있습니다. UI는 ViewModel 뒤에 실제 모델이 있는지 전혀 모릅니다. ViewModel 만 UI에 관심을 가져야합니다. 나는 이것이 그가이 경우에 따라야 할 적절한 패턴이라고 생각한다. – Thebigcheeze
올바르지 않습니다. ViewModel은 여전히 UI의 응집 된 부분입니다. 책임을 자신의 구성 요소로 분리합니다. 이 모델은 UI에 매우 많이 알려져 있습니다 (그렇지 않으면 UI가 UI에 액세스 할 수 없게됩니다). MVVM의 ViewModel을 데이터 모델의 "캐시"라고 생각하면 실제 데이터 액세스는 다른 계층이나 계층에서 수행되어야합니다. –