2009-01-09 15 views
9

एएसपी.नेट एमवीसी वेबसाइट में LINQ to SQL के साथ मैं अपनी डेटाबेस तालिका से ऑब्जेक्ट्स (रिकॉर्ड) प्रदर्शित कर सकता हूं।मैं LINQ से SQL में अपने ऑब्जेक्ट को अपने डेटाबेस में वापस कैसे सहेज सकता हूं?

अब मैं एक नई वस्तु बनाना चाहता हूं और इसे डेटाबेस में वापस सहेजना चाहता हूं।

मेरी नियंत्रक में, मैं यह कर:

var dataContext = new MessageDataContext(); 
    Message message = new Message(); 
    message.Action = "save"; 
    message.Body = "record"; 
    message.Parameter = "234"; 

और अब मैं कुछ इस तरह से इसे सहेजना चाहते:

message.Save(); 

या शायद:

dataContext.SubmitChanges(message); 

लेकिन न इन कामों में से। नई वस्तुओं जोड़ने और उन्हें डेटाबेस से बचाने

  • :

    क्या करने के लिए यहाँ वाक्य रचना है?

  • मौजूदा वस्तुओं पर परिवर्तन करते हैं और उन्हें डेटाबेस में सहेजते हैं?

उत्तर

26

क्या आप के लिए देख रहे हैं:

dataContext.Messages.InsertOnSubmit(message); 
dataContext.SubmitChanges(); 

मान लें कि आप एक Messages तालिका एसक्यूएल dbml करने के लिए अपने LINQ में मैप किया गया है।

+0

क्या मुझे मेरी समस्या के साथ मदद मिल सकती है? [यहां लिंक किया गया] (http://stackoverflow.com/questions/12761598/linq-to-sql-updates-datacontext-but-not-the-डेटाबेस) – Jed

+1

@ जेड - बस यहां आया, और देखें कि आप ' मैंने इसे हल किया है :) – Kev

+0

एक ही कार्रवाई डेटा कॉन्टेक्स्ट द्वारा पूरा करने के लिए supposet नहीं है। संदेश। एटैच (संदेश) ??? – balanza

9

नई वस्तुओं को जोड़ने के लिए बस करो:

dbContext.Messages.InsertOnSubmit(message); 
dbContext.SubmitChanges(); 

आपने पहले से भरी हुई संस्थाओं में कोई भी परिवर्तन सिर्फ करते हैं, तो:

dbContext.SubmitChanges(); 

आप किसी भी बदली हुई इकाई आप की जरूरत प्रस्तुत करने के लिए नहीं करना चाहते हैं करने के लिए:

dbContext.Refresh(RefreshMode.OverwriteCurrentValues, message); 
संबंधित मुद्दे

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