मेरे पास एक बहुत ही सरल सर्वर मॉडल है जिसमें बाल संस्थाओं की एक [संरचना] सूची के साथ एक मूल इकाई शामिल है। मेरे ग्राहक में, मेरे पास 2 कार्य हैं। एक समारोह माता-पिता से सभी बाल संस्थाओं को हटा देता है और दूसरा सभी को हटा देता है और मूल इकाई पर एक संपत्ति भी संपादित करता है।डोमेनकॉन्टेक्स्ट कभी-कभी सबमिट चेंज के बाद हैस चेंज
जब मैं बस सभी बाल संस्थाओं और सबमिटChanges() को हटा देता हूं, तो सब कुछ ठीक है।
जब मैं सभी बच्चे इकाइयों को हटा देता हूं और अभिभावक और सबमिटChanges() संपादित करें, सबमिटबैंग() कॉलबैक निकाल दिए जाने पर अभी भी लंबित परिवर्तन (HasChanges == true) हैं।
मैं सिल्वरटाइट 4 आरटीएम और आरआईए सेवा 1.0 आरटीएम का उपयोग कर रहा हूं।
कोई विचार क्या हो रहा है?
public class RegionDto
{
public RegionDto()
{
Cities = new List<CityDto>();
}
[Key]
public int Id { get; set; }
public string Name { get; set; }
[Include]
[Composition]
[Association("RegionDto_CityDto", "Id", "RegionId")]
public List<CityDto> Cities { get; set; }
}
public class CityDto
{
[Key]
public int Id { get; set; }
public int RegionId { get; set; }
public string Name { get; set; }
}
और यहाँ ग्राहक कोड है::
public static class CState
{
private static RegionDomainContext _domainContext;
public static RegionDomainContext DomainContext
{
get
{
if (_domainContext == null)
{
_domainContext = new RegionDomainContext();
}
return _domainContext;
}
}
public static void SaveChanges()
{
DomainContext.SubmitChanges(op =>
{
if (DomainContext.HasChanges && !DomainContext.IsSubmitting)
{
var w = new ChildWindow();
w.Content = "The DomainContext still has unsaved changes.";
w.Show();
}
}, null);
}
}
public partial class MainPage : UserControl
{
private void ClearCitiesEditRegion(object sender, RoutedEventArgs e)
{
var region = (RegionDto)regionList.SelectedItem;
if (region != null)
{
region.Name += "*";
while (region.Cities.Count > 0)
{
region.Cities.Remove(region.Cities.First());
}
CState.SaveChanges();
}
}
private void ClearCities(object sender, RoutedEventArgs e)
{
var region = (RegionDto)regionList.SelectedItem;
if (region != null)
{
while (region.Cities.Count > 0)
{
region.Cities.Remove(region.Cities.First());
}
CState.SaveChanges();
}
}
}
जब आप इस कोड को चलाने ChildWindow केवल जब तुम ClearCitiesEditRegion() विधि कहा जाता है दिखाया गया है
यहाँ सर्वर संस्थाएं हैं । इस और ClearCities() विधि के बीच एकमात्र अंतर वह रेखा है जहां मैं क्षेत्र संपादित करता हूं। नाम संपत्ति। http://dl.dropbox.com/u/2393192/RIA_Services_Problem.zip
हे आपके कामकाज के जवाब में "सीटीटीटी" क्या है? मुझे शायद एक ही मुद्दे का सामना करना पड़ रहा है। धन्यवाद –