2009-11-01 10 views
10

나는 내 시간을 관리하기 위해 WPF 응용 프로그램을 구축 중입니다. 저는 하루 일정으로 프로젝트 시간을 줄이고 싶습니다.WPF 응용 프로그램에서 로컬로 데이터를 저장하는 가장 좋은 방법은 무엇입니까?

제 질문은 데이터를 저장하는 가장 좋은 방법입니다. 나는 XML 파일, Access 데이터베이스 파일 또는 아마도 속성을 사용할 수 있다고 생각했습니다. 데이터를 로컬에 저장하고 싶습니다. 따라서이 경우 아무런 작업도 수행하지 마십시오 (SQL Server). :)

당신은 어떻게 생각하십니까?

답변

5

SQLite 순수하거나 .NET에 친숙한 형식으로 잡을 것입니다 ('sqlite .net'에 대한 Google 검색을 사용하면 몇 가지 옵션이 있습니다). 그것은 매우 휴대 성이 뛰어나며, SQL Server Compact보다 설치 및 배포가 더 쉽다고 생각합니다.

중요한 것은 코드의 지속성 메커니즘과 너무 밀접하게 연결되어 있지 않은지 확인하는 것이므로 앞으로는 원하는 모든 저장 전략을 쉽게 대체 할 수 있습니다.

+0

팁을위한 Thx! 나는 SQLite를 테스트 할 것이고, 나는 그것이 무엇을 찾고 있는지 생각할 것이다. – Richard

6

나는 SQL Server가 없다고 알고 있지만 "서버"를 원하지 않고 클라이언트에 데이터를 저장하려고한다는 것을 알고 있습니다. 나는 또한 당신이 아마도 당신의 데이터의 관리성에 신경 쓰지 않을 것이라고 생각한다. 백업 같은 것이 있습니다. 그리고 트랜잭션은 항상 멋지므로 데이터가 일관성을 유지할 수 있습니다. 그래서, XML을 사용할 수있는 동안 (당신의 마음에서 Access의 모든 생각을 버리십시오), 이것이 해결 된 문제 일 때, 당신은 당신 자신의 영속성을 끝내게 될 것입니다.

무료 SQL Server Compact 버전을 확인하십시오. 가볍고 데스크탑이나 모바일 장치에서 실행되도록 설계되었으며 앱에서 그렇게해야하는 경우 쉽게 배포 할 수 있습니다. 그리고 모든 일반적인 영속 프레임 워크가이를 지원합니다. 그리고 나는 그것이 자유 롭다는 것을 언급 했는가 (비용 없음에서)?

+0

내 개인 샌드 박스 프로젝트가 더 많거나 적습니다. 나는 Linq2Sql을 배울 수있는 방법으로 SqlCE를 사용하기로했다. 다시 한 번 해보려한다면 SqlCE w/ADO를 사용하거나 아마존, 구글 또는 MS 클라우드 서비스를 통해 온라인으로 무언가를 온라인으로 검색 할 수 있습니다. –

+2

왜 SQLite를 사용하지 않습니까? 그것은 모든 것을 매우 잘 통합 .NET. 파일 시스템에 단일 파일로 상주합니다. –

+0

나는 또한 SQLite에 투표합니다. 그것을위한 Entity Framework 공급자가 있습니다. –

4

가능한 한 가장 쉬운 데이터 소스를 선택하고 적절히 분리하여 나중에 새로운 데이터 소스에 놓을 수 있도록 제안합니다. 그러면 나중에 다른 용도로 적합한 데이터 소스를 찾을 수 있습니다. 이를 위해 XML 또는 심지어 일반 텍스트와 같은 것이 작동 할 수있는 가장 간단한 것으로 발견 될 수 있습니다.

실제 사용을 기준으로 데이터 원본에서 필요한 특성을 결정한 후에는 적절한 백업 저장소를 선택하십시오.

개인적인 프로젝트이기 때문에이 결정을 내리는 것이 중요하다고 생각하지 않습니다. 상업적인 프로젝트가 아니기 때문입니다.

1

내가 과거에 사용한 하나의 죽은 간단한 접근 방식은 "XML 파일"아이디어입니다. 관심있는 데이터를 설명하는 객체를 만든 다음 xml로 직렬화하면됩니다.

Greg는 사용자의 요구 사항이 변경 될 때 데이터 소스를 올바르게 연결 해제 할 수 있도록 데이터 소스가 올바르게 연결 해제되어 있다고 말하면서 절대적으로 정확합니다.

관련 문제