C# में डेटाबेस के साथ कार्य का परिचय
\n\nआधुनिक एप्लिकेशन डेवलपमेंट में डेटाबेस के साथ कार्य करना एक प्रमुख कौशल है। C# (.NET) रिलेशनल (PostgreSQL) और डॉक्यूमेंट-ओरिएंटेड (MongoDB) दोनों डेटाबेस के साथ इंटरैक्शन के लिए शक्तिशाली टूल प्रदान करता है। इस लेख में हम दोनों सिस्टम के लिए कनेक्शन और CRUD संचालन के मूल सिद्धांतों को समझेंगे।
\n\nयह लेख उन शुरुआती डेवलपर्स के लिए है जो C# की मूल बातों से परिचित हैं। हम SQL क्वेरी (Npgsql) के माध्यम से पारंपरिक दृष्टिकोण और आधुनिक ORM — Entity Framework Core, साथ ही आधिकारिक ड्राइवर के माध्यम से MongoDB के साथ कार्य पर विचार करेंगे।
\n\n1. C# में PostgreSQL के साथ कार्य
\n\nPostgreSQL एक शक्तिशाली ओपन-सोर्स रिलेशनल DBMS है। .NET में इसके साथ कार्य करने के लिए पैकेज Npgsql या प्रदाता Npgsql.EntityFrameworkCore.PostgreSQL के साथ Entity Framework Core का उपयोग किया जाता है।
1.1 Npgsql के माध्यम से कनेक्शन (निम्न-स्तरीय पहुंच)
\n\nNuGet के माध्यम से पैकेज स्थापित करें:
\n\ndotnet add package Npgsql\n\nसरल कनेक्शन और क्वेरी निष्पादन का उदाहरण:
\n\nusing Npgsql;\n\nstring connectionString = "Host=localhost;Port=5432;Database=mydb;Username=user;Password=pass";\n\nusing var conn = new NpgsqlConnection(connectionString);\nconn.Open();\n\nstring sql = "SELECT id, name, age FROM users WHERE age > @minAge";\nusing var cmd = new NpgsqlCommand(sql, conn);\ncmd.Parameters.AddWithValue("minAge", 18);\n\nusing var reader = cmd.ExecuteReader();\nwhile (reader.Read())\n{\n Console.WriteLine($"ID: {reader["id"]}, Name: {reader["name"]}, Age: {reader["age"]}");\n}\n\n1.2 PostgreSQL के साथ Entity Framework Core का उपयोग
\n\nपैकेज स्थापित करें:
\n\ndotnet add package Microsoft.EntityFrameworkCore\ndotnet add package Npgsql.EntityFrameworkCore.PostgreSQL\n\nमॉडल और कॉन्टेक्स्ट बनाएं:
\n\npublic class User\n{\n public int Id { get; set; }\n public string Name { get; set; }\n public int Age { get; set; }\n}\n\npublic class AppDbContext : DbContext\n{\n public DbSet<User> Users { get; set; }\n\n protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)\n {\n optionsBuilder.UseNpgsql("Host=localhost;Database=mydb;Username=user;Password=pass");\n }\n}\n\nEF Core के माध्यम से CRUD संचालन:
\n\nusing var db = new AppDbContext();\n\n// Create\ndb.Users.Add(new User { Name = "अन्ना", Age = 25 });\ndb.SaveChanges();\n\n// Read\nvar users = db.Users.Where(u => u.Age > 20).ToList();\n\n// Update\nvar user = db.Users.First();\nuser.Age = 30;\ndb.SaveChanges();\n\n// Delete\ndb.Users.Remove(user);\ndb.SaveChanges();\n\n2. C# में MongoDB के साथ कार्य
\n\nMongoDB एक NoSQL डेटाबेस है जो डेटा को BSON-दस्तावेज़ प्रारूप में संग्रहीत करता है। C# के लिए आधिकारिक ड्राइवर MongoDB.Driver का उपयोग किया जाता है।
2.1 स्थापना और कनेक्शन सेटअप
\n\nपैकेज स्थापित करें:
\n\ndotnet add package MongoDB.Driver\n\nस्थानीय MongoDB सर्वर से कनेक्शन:
\n\nusing MongoDB.Driver;\n\nvar client = new MongoClient("mongodb://localhost:27017");\nvar database = client.GetDatabase("mydb");\nvar collection = database.GetCollection<BsonDocument>("users");\n\n2.2 MongoDB के साथ CRUD संचालन
\n\nमॉडल क्लास बनाएं:
\n\npublic class User\n{\n public MongoDB.Bson.ObjectId Id { get; set; }\n public string Name { get; set; }\n public int Age { get; set; }\n}\n\nकलेक्शन के साथ कार्य का उदाहरण:
\n\nvar collection = database.GetCollection<User>("users");\n\n// Create\nvar newUser = new User { Name = "इवान", Age = 30 };\ncollection.InsertOne(newUser);\n\n// Read\nvar filter = Builders<User>.Filter.Eq(u => u.Name, "इवान");\nvar user = collection.Find(filter).FirstOrDefault();\n\n// Update\nvar update = Builders&l