SubmitChanges를 호출하여 내 RIA 엔터티 중 하나에 변경 사항을 제출합니다. 이 엔티티에는 ObservableCollection이라는 Items 속성이 있습니다.SubmitChanges 이후에 RIA 서비스가 없어진 목록 항목이있는 DomainContext
유일한 변경 사항은이 목록에 항목을 추가 한 것입니다.
제출 변경을 호출하기 전에 count 속성을 확인하면 정확한 개수입니다. 예를 들어, 다음과 같습니다. SubmitChanges를 호출 한 후 클라이언트 측의 수는 1입니다. 목록에는 새로 추가 된 항목 만 포함되며 기존 항목은 포함되지 않습니다.
서버에서이 작업은 6 개의 모든 항목이 있음을 나타내며 피들러를 사용하여 6 개의 항목이 모두 내 클라이언트로 반환되는지 확인합니다.
그러나 응용 프로그램에서 실행되는 다음 코드 줄에서이 목록의 개수는 1 (또는 새로 추가 된 항목의 수)입니다.
나는 모든 항목이 제대로 있고, 새 DomainContext를 만들고 목록에있는 항목을 모두 다시로드했는지 확인했습니다. 추가 한 항목도 있습니다.
이 문제의 원인에 대한 의견이 있으십니까? 이 물건들은 어딘가에서 잃어 가고 있습니다.
ObservableCollection과 함께 해당 항목을 잃어 버리는 개체가 여기에 있습니다.
[DataContract(Name = "CT", Namespace = "http://domain/properties")]
public class ChoicePropertyType : PropertyType
{
[DataMember(Name = "C")]
public bool IsCustomValueAllowed { get; set; }
[DataMember(Name = "A")]
public bool AllowMultiple { get; set; }
private ObservableCollection<ValidValue> _defaultValues;
[Association("DefaultValues", "Id", "ParentId")]
[Include]
[Composition]
[DataMember(Name = "D")]
public ObservableCollection<ValidValue> DefaultValues
{
get
{
if (_defaultValues == null)
_defaultValues = new ObservableCollection<ValidValue>();
return _defaultValues;
}
}
}
[KnownType(typeof(ChoicePropertyType))]
[KnownType(typeof(DatePropertyType))]
[KnownType(typeof(NumberPropertyType))]
[KnownType(typeof(TextPropertyType))]
[KnownType(typeof(UserPropertyType))]
[DataContract(Name = "PT", Namespace = "http://domain/properties")]
public class PropertyType
{
[Key]
[DataMember(Name = "I")]
public string Id { get; set; }
[DataMember(Name = "P")]
public int? ParentId { get; set; }
[DataMember(Name = "R")]
public bool IsRequired { get; set; }
[DataMember(Name = "H")]
public bool HasDefaultValue { get; set; }
}
코드 중 일부를 공유 할 수 있는지 궁금합니다. – bleepzter
자, 문제의 객체에 대한 코드 샘플을 제공했습니다. – user1060500