선사 전 : XML 스키마 (XSD)에서 생성 된 클래스 계층 구조 (큰 것)가 있습니다.MongoDB С # driver를 사용하여 obj.ToBsonDocument()를 호출하여 Null 값을 전역 적으로 무시하는 방법은 무엇입니까?
MyObj obj;
요즘 : 나는 실제로 생성 된 클래스 계층 구조를 사용하여 객체에 대한 XML을 나타내는 문자열 값을 구문 분석 할 필요가 다음 나는 MongoDB를에 객체를 넣어해야합니다. 코드는 다음과 같습니다
이 문제가private BsonDocument XmlToBson(string content)
{
MyObj obj;
using (var reader = new StringReader(content))
{
var serializer = new XmlSerializer(typeof(MyObj));
obj = (MyObj) serializer.Deserialize(reader);
}
return obj.ToBsonDocument();
}
: 내가 널 많은 어린이가 계층 구조 개체를 가지고, 그것은 Robomongo이 모양이 :
내가 널을 추가하지 않도록 할 개체를 데이터베이스에 저장합니다. 나는 하나 또는 하나를 무시할 수 있다는 것을 알고 있습니다. 여기서는 Ignoring Default Values 속성이나 람다 식을 사용하여 설명합니다. 그러나 계층 구조가 크고 복잡하기 때문에이 방법이 마음에 들지 않습니다. 나는 그들이 null 값을 가질 때 무시되어야하는 모든 속성을 나열하는 것을 게으 르기로했다. 더욱이 클래스는 미래에 재생성 될 수 있으며 무시되어야하는 속성 목록을 지원하는 것은 악몽이 될 것입니다.
질문 : 오브젝트가 계층 구조에 상관없이 목표를 달성하고 전역 값을 전역 적으로 무시할 수 있습니까? MongoDB C# 드라이버 버전을 사용 중입니다. 2.2.
어이 Antipod는 존재하지 않고 'null'값 확인으로 제거하지 않으면 무시할 수 있습니다. "삽입"하지 않거나 "자리 표시 자"로 열에 null 인 경우 다른 객체를 삽입 할 때와 같이 "무시"로 무엇을 의미합니까? –
"무시"란 데이터베이스에서 그들을보고 싶지 않다는 의미입니다. 가짜 값, 즉 사용되지 않을 값을 입력하면 좋은 생각으로 들리지 않으므로 데이터베이스에 휴지통을 갖고 싶지 않습니다. 그리고 만약 무언가가 null인지 (어떻게?) 오버 헤드처럼 들리거나 아마도 당신이 의미하는 바를 이해하지 못한다. – Antipod
http://stackoverflow.com/a/43259080/194717 – Tony