entitie의 속성 중 일부를 XML 형식으로 대량으로 열에 저장하는 쉬운 방법이 있습니까? 물론 이러한 속성에 의한 Querieng은 옵션이 아니지만 데이터베이스 마이그레이션없이 데이터 모델을 확장 할 수있는 가치가 있습니다.Entity Framework 또는 NHibernate를 사용하는 확장 된 속성
답변
NHibernate에 없습니다. Entity 프레임 워크에 대해 잘 모르겠습니다.
XML 필드를 저장하려면 여전히 데이터베이스 마이그레이션이 필요하므로 Entity 프레임 워크 나 다른 프레임 워크에서이 기능을 찾을 때 데이터베이스 스키마 업데이트를 수행 할 수 있습니다.
내가 아는 한 당신은 NHibernate에서 이것을 직접 할 수는 없지만 필드를 문자열로 작성하고 분해하고 필드를 직접 매핑하는 대신 해당 속성에 매핑하는 개인 속성을 구현할 수있다.
하지만 처음에해야 할 일이 있는지 잘 모르겠습니다. 일반적으로 요구 사항은 응용 프로그램의 개발 및 수명 동안 발생하는 경향이 있으며 일단 필드 중 하나가 필요하면 - 이제는 해당 필드를 쿼리 할 필요가 없다고 생각할지라도 - 어려움을 겪을 것입니다. 기존 데이터베이스의 테이블에 열을 추가하는 것은 별 효과가 없으며 테이블의 모든 튜플에 대해 XML을 업데이트해야하므로 실제로 열에 하나의 필드 만 저장하는 것이 더 좋습니다. 데이터베이스에 저장하기 전에
최고 감사합니다,
올리버 Hanappi
당신은 문자열로 XML을 변환 시도 할 수 있습니다.
Entity Framework는 원시 XML 데이터 형식을 지원하지 않습니다. 즉, 엔티티가 XML 열이있는 테이블에 매핑 될 때 XML 열에 대한 등가 엔터티 속성은 문자열입니다. 즉 을 의미합니다. 객체는 일 수 있으며 XML로 연결 해제 및 직렬화됩니다. 자세한 내용은 개체 연속화 (Entity Framework)를 참조하십시오.
예, 직렬화 객체와 IUserType 구현을 사용 NHibernate에이 작업을 수행 할 수 있습니다. This link은 SQL Server XML 필드에 대한 IUserType 구현을 만드는 방법을 설명하고 this link은 개체를 XML 필드에 serialize하는 방법을 설명합니다.
감사의 제이미. 앞서 언급 한 것처럼 여러 속성을 단일 열에 저장하려고합니다. 따라서이 IUserType을 사용하여 동일한 열에 매핑 된 여러 속성이 동시에 변경되는 경우 어떻게됩니까? 늘어나는만큼 내가이 API를 이해 마지막으로 변경 적용됩니다 나머지는 ... –
XML로 유지 될 속성을 구성 요소 개체의 속성으로 매핑합니다. 따라서 IUserType은 구성 요소 개체를 가져 와서 구성 요소 개체를 serialize (NullSafeSet)하고 역 직렬화 (NullSafeGet)합니다. 나는 실제로이 작업을 수행하지 않았습니다. 사용 사례가 있었고 완료 될 수 있음을 알기에 충분했지만 다른 해결책으로 끝났습니다. 불행히도 (희망적으로) 올바른 방향으로 만 당신을 가리킬 수 있습니다. –
NHibernate에 당신은 또는 오리 타이핑을 nhforge.org/doc/nh/en/index.html#collections-mapping 이름 - 값 목록 으로 사전을 사용하여 동적 구성 요소 http://nhibernate.info/doc/nh/en/index.html#components-dynamic 또는 을 사용할 수 있습니다 http://fabiomaulo.blogspot.com/2009/07/duck-typing-with-nhibernate.html
- 1. Entity Framework 계산 된 속성 문제
- 2. Entity Framework - 개체 속성
- 3. Entity Framework 코드 우선 계산 된 속성
- 4. Ordering 탐색 속성 - Entity Framework
- 5. SQLite를 사용하는 Entity Framework
- 6. Entity Framework - C# 또는 VB.Net
- 7. LINQ2SQL 또는 Entity Framework 또는 Enterprise 라이브러리?
- 8. nhibernate를 사용하는 엔티티에서 속성 개수를 얻으십시오
- 9. 응용 프로그램 런타임에서 Entity Framework 모델 확장
- 10. Entity Framework 4.1의 보호 속성 매핑
- 11. Entity Framework 및 WPF UI의 계산 된 속성 표시
- 12. Entity Framework 디자이너에서 부분 클래스 속성 표시
- 13. Entity Framework 4/MVC3 탐색 속성 딜레마
- 14. Entity Framework 모델 및 외래 키 속성
- 15. Entity Framework 탐색 속성 사용 방법
- 16. Entity Framework : 데이터베이스에 매핑하지 않는 속성 추가
- 17. Entity Framework - 수동으로 탐색 속성 추가
- 18. 다중 스레드를 사용하는 Entity Framework 트랜잭션
- 19. IOC with Entity Framework
- 20. 현지화 된 테이블 및 Entity Framework
- 21. Entity Framework 4.1에서 업데이트 SPROC를 사용하는 방법
- 22. Lucene.net과 Entity Framework 4
- 23. Entity Framework 초보자 질문
- 24. Entity Framework 및 WCf
- 25. 페이징을 사용하는 Entity Framework + 저장 프로 시저
- 26. Entity Framework 4에서 ApplyOriginalValues를 사용하는 경우는 언제입니까?
- 27. Entity Framework - 모델을 처음 사용하는 OnModelCreating
- 28. 여러 테이블/엔터티를 사용하는 Entity Framework 동시성
- 29. IronPython 및 Entity Framework
- 30. Entity Framework 4.1 동적으로 생성 된 테이블
감사의 올리버. 우리는 그것에 대해 생각해 봤지만 모든 엔티티에 대해 기본 클래스의 ORM 확장을 사용하는 것이 좋을 것입니다. Google 웹 서버에서 사용할 읽기 전용 데이터 모델을 디자인합니다. 따라서 필터가 사용되는 필터가 정의되어 있지만, 우리는 어떤 데이터를 표시 할 것인지를 결정합니다. –