웹에서 찾은 모든 직렬화 예제는 배열 또는 파일에 저장하는 것과 관련이 있습니다. 객체의 각 클래스는 ".bin"과 같이 자신의 파일로 직렬화되어야합니다. 내 문제의 근원은 내 제품에 대한 정보를 로컬에 저장하고 싶지만 SQL을 사용하는 데 익숙하다. 정보를 로컬에 저장하는 방법을 시각화하는 것은 어렵습니다. C#이 ASP와 비슷하다면 Access 데이터베이스에 연결할 수 있어야하지만, 사용자가 읽을 수없는 직렬화 아이디어 중 하나를 거의 무효로 만듭니다. 테이블과 필드를 사용하는 것과 비슷한 직렬화 방법이 있습니까? 아니면 최소한 하나의 파일에 모든 사용자 정보를 저장할 수 있습니까?데이터베이스와 비슷한 직렬화 방법이 있습니까?
4
A
답변
1
로컬로 직렬화되어 저장되는 ADO.NET DataSet을 사용할 수 있습니다. 그것은 익숙한 모든 데이터 구조를 포함 할 것이고 원하는대로 데이터를 쿼리 할 수있게 해주 며 이진 시리얼 라이저로 직렬화하면 최종 사용자가 읽을 수 없게됩니다.
또한 DataSet을 사용하는 대신 SQLite를 사용할 수 있습니다.
SQLite는이 가 자체 포함, 서버없는, 제로 구성, 트랜잭션 SQL 데이터베이스 엔진을 구현하는 소프트웨어 라이브러리입니다. SQLite는 전 세계에서 가장 널리 배포 된 SQL 데이터베이스 엔진입니다. SQLite 소스 코드 은 (는) 에 있습니다.
SQLite로 NHibernate는 훌륭한 조합입니다.
건배.
1
NHibernate을 확인하십시오. 그러면 '데이터베이스와 같은'스토리지가 생깁니다.
인간의 가독성을 고려한다면 XML을 사용하여 개체를 직렬화하는 것이 좋습니다. .NET은 XML 및 바이너리 형식을 사용하여 객체를 직렬화 (및 비 직렬화) 할 수있는 적절한 지원을 제공합니다.
C#에서 직렬화 학습을 위해 사용한 자습서는 this CodeProject article입니다.
업데이트 : 나는 당신이 만든 한 점 오해
: 직렬화 반드시 사람이 읽을 수있는 여부를 의미하지 않는다 - 당신이 직렬화하기로 결정하는 경우는 데이터를 읽을 여부를 원하는 경우, 파악을. 이진 직렬화는보다 작고 읽기 어려울 수 있습니다.
관련 문제
- 1. OnOrientationChanged와 비슷한 방법이 있습니까?
- 2. 비슷한 XML 파일을 deserialize하는 쉬운 방법이 있습니까?
- 3. COM과 비슷한 기능을 제공하는 다른 방법이 있습니까?
- 4. 데이터베이스와 속성을 직렬화 할 때 Base64 인코딩/디코딩
- 5. Java에서 인용 부호 (@ "")와 비슷한 C#을 사용하는 방법이 있습니까
- 6. Java에서 scripting.dev.java.net과 비슷한 .NET에서 이에 상응하는 스크립팅 방법이 있습니까?
- 7. 비슷한 핸들러를 stripMenuItems에 그룹화 할 수있는 방법이 있습니까?
- 8. ROWLEX에서 직렬화 된 객체에서 "rdf : datatype"을 제거하는 방법이 있습니까?
- 9. C#에서 포인터를 직렬화 및 비 직렬화하는 방법이 있습니까?
- 10. AFTR과 비슷한 제품이 있습니까?
- 11. Ext.ux.Livegrid와 비슷한 기능이 있습니까?
- 12. 'dist'와 비슷한 목표가 있습니까?
- 13. C++에서 클래스를 직렬화 및 비 직렬화 할 수 있습니까?
- 14. string.Format과 비슷한 방법으로 string.TryFormat이 있습니까?
- 15. XML 데이터베이스와 ORM
- 16. 속성에 해당하는 __noSuchMethod__ 기능이나 JS에서 구현하는 방법이 있습니까? 속성에 대한 비슷한 할 수있는 방법이 있었다
- 17. Enum을 완전히 직렬화 할 수 있습니까?
- 18. 데이터베이스와 서버 동기화
- 19. iOS/php : 데이터베이스와 통신하기
- 20. 많은 데이터베이스와 연결
- 21. Olson TZ 데이터베이스와 동기화
- 22. Qt4와 (과) 비슷한 도구가 있습니까?
- 23. ASP.NET의 Smarty와 비슷한 점이 있습니까?
- 24. Iconfinder.com과 비슷한 좋은 스크립트가 있습니까?
- 25. Android에 'zoomToRegion'과 비슷한 것이 있습니까?
- 26. Java에서 JPanel과 비슷한 위젯이 있습니까
- 27. Java의 WebClient.DownloadString과 비슷한 것이 있습니까?
- 28. 비슷한 jtrac 발권 시스템이 있습니까?
- 29. Github와 비슷한 GWT 테마가 있습니까?
- 30. 예외는 Distinct와 비슷한 효과가 있습니까?
그는 직렬화의 이점 중 하나는 ** 읽기 쉽지 않음을 언급합니다. –
직렬화가 데이터를 읽을 수 있는지 여부를 나타내는 것은 아닙니다. 인간이 읽을 수 있고 읽을 수없는 직렬화 기술을 사용했습니다. OP가 직렬화 된 데이터를 보호해야하는 경우 암호화 또는 적어도 기본적인 난독 화를 사용해야합니다. –