2010-03-15 10 views
19

आरआईए सेवाओं (VS2010Beta2) में अपना पहला कदम बनाना और मुझे इस समस्या का सामना करना पड़ा: ने एक ईएफ मॉडल (कोई पीओसीओ) नहीं बनाया, इसके ऊपर जेनेरिक रिपोजिटरी और आरआईए सेवा (एएसपी.नेट एमवीसी अनुप्रयोग में होस्ट किया गया) और एएसपी.नेट एमवीसी अनुप्रयोग के भीतर से डेटा प्राप्त करने का प्रयास किया: अच्छी तरह से काम किया। अगला चरण: सिल्वरलाइट क्लाइंट। एक (उसके संदर्भ के माध्यम से) भंडार के सभी रिकॉर्ड के लिए क्वेरी की RIAService के संदर्भ में, समझे और उन्हें रूप में अच्छी तरह SL आवेदन में मिल गया (इस कोड नमूने का उपयोग कर):आरआईए सेवाएं EntitySet 'संपादित करें' ऑपरेशन का समर्थन नहीं करता

private ObservableCollection<Culture> _cultures = new ObservableCollection<Culture>(); 
public ObservableCollection<Culture> cultures 
{ 
    get { return _cultures; } 
    set 
    { 
    _cultures = value; 
    RaisePropertyChanged("cultures"); 
    } 
} 

....

यह EntitySet :
//Get cultures    
EntityQuery<Culture> queryCultures = from cu in dsCtxt.GetAllCulturesQuery() 
              select cu; 
loCultures = dsCtxt.Load(queryCultures); 
loCultures.Completed += new EventHandler(lo_Completed); 

....

void loAnyCulture_Completed(object sender, EventArgs e) 
{ 
    ObservableCollection<Culture> temp= 
    new ObservableCollection<Culture>loAnyCulture.Entities); 
       AnyCulture = temp[0]; 
} 
समस्या

यह है: जब भी मैं (इस उदाहरण में पहले रिकॉर्ड) एक रिकार्ड से कुछ डेटा को संपादित करने के लिए मैं इस त्रुटि मिलती है कोशिश 'संस्कृति' प्रकार का 'संपादन' ऑपरेशन का समर्थन नहीं करता है।

मैंने सोचा कि मैंने कुछ अजीब किया है और संस्कृति की वस्तु बनाने की कोशिश की है और इसके लिए एक मूल्य असाइन किया है: यह अच्छी तरह से काम करता है!

मुझे क्या याद आ रही है? क्या मुझे एंटिटीसेट घोषित करना है? क्या मुझे इसे चिह्नित करना है? क्या मुझे करना है ... क्या?

अग्रिम धन्यवाद

उत्तर

42

ऐसा लगता है कि में DomainService वर्ग एक को लागू करने के रूप में "संपादित करें" (या कम से कम "प्लेसहोल्डर तरीकों" चिह्नित करने के लिए), "हटाएँ", ... जैसे

[Delete] 
public void DeleteCulture(Culture currentCulture) 
{ 
    throw new NotImplementedException("UpdateCulture not Implemented yet"); 
} 
[Insert] 
public void InsertCulture(Culture newCulture) 
{ 
    throw new NotImplementedException("InsertCulture not Implemented yet"); 
} 

इस तरह संगठनDomainContextEntityContainer क्लास पैरामीटर EntitySetOperations.All (जिसका अर्थ है कि सभी सीयूडी संचालन उपलब्ध हैं) के साथ एक EntitySet बनाता है।

आशा है कि यह भविष्य में किसी के लिए उपयोगी होगा!

+0

मेरे लिए बहुत उपयोगी :) –

+0

@ ग्रेको: खुशी है कि मैं मदद कर सकता हूं! –

+0

@SavvasSopiadis - अच्छा काम, धन्यवाद! – Rob

संबंधित मुद्दे