खोज…


किसी मौजूदा डेटाबेस से कनेक्ट करें

इकाई की रूपरेखा में सरल कार्य को प्राप्त करने के - एक मौजूदा डेटाबेस से कनेक्ट करने के लिए ExampleDatabase MSSQL के अपने स्थानीय उदाहरण पर आप दो वर्गों केवल लागू करने के लिए की है।

पहले इकाई वर्ग है, जिसे हमारे डेटाबेस टेबल dbo.People मैप किया जाएगा।

    class Person
    {
        public int PersonId { get; set; }
        public string FirstName { get; set; }
    }

वर्ग इकाई फ्रेमवर्क के सम्मेलनों और मानचित्र का उपयोग टेबल dbo.People लिए dbo.People जो प्राथमिक कुंजी PersonId और एक PersonId (अधिकतम) संपत्ति FirstName

दूसरा संदर्भ वर्ग है जो System.Data.Entity.DbContext से प्राप्त होता है और जो रनटाइम के दौरान इकाई ऑब्जेक्ट्स का प्रबंधन करेगा, उन्हें डेटाबेस से पुतला करेगा, संगामिति को संभालेगा और उन्हें डेटाबेस में वापस बचाएगा।

    class Context : DbContext
    {
        public Context(string connectionString) : base(connectionString)
        {
            Database.SetInitializer<Context>(null);
        }

        public DbSet<Person> People { get; set; }
    }

कृपया ध्यान रखें, कि हमारे संदर्भ के निर्माता में हमें डेटाबेस इनिशियलाइज़र को अशक्त करने की आवश्यकता है - हम डेटाबेस बनाने के लिए एंटिटी फ्रेमवर्क नहीं चाहते हैं, हम बस इसे एक्सेस करना चाहते हैं।

अब आप उस तालिका के डेटा में हेरफेर कर सकते हैं, उदाहरण के लिए डेटाबेस में पहले व्यक्ति का FirstName इस तरह कंसोल एप्लिकेशन से परिवर्तित करें:

    class Program
    {
        static void Main(string[] args)
        {
            using (var ctx = new Context("DbConnectionString"))
            {
                var firstPerson = ctx.People.FirstOrDefault();
                if (firstPerson != null) {
                    firstPerson.FirstName = "John";
                    ctx.SaveChanges();
                }
            }
        }
    }

ऊपर के कोड में हमने "DbConnectionString" एक तर्क के साथ प्रसंग का उदाहरण बनाया। यह हमारे app.config फ़ाइल में इस तरह निर्दिष्ट किया जाना है:

  <connectionStrings>
    <add  name="DbConnectionString" 
    connectionString="Data Source=.;Initial Catalog=ExampleDatabase;Integrated Security=True" 
    providerName="System.Data.SqlClient"/>
  </connectionStrings>


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow