C# में डेटाबेस के साथ कार्य: PostgreSQL और MongoDB व्यावहारिक रूप से

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

C# में डेटाबेस के साथ कार्य: PostgreSQL और MongoDB व्यावहारिक रूप से

\n\n

डेटाबेस के साथ कार्य करना किसी भी backend-डेवलपर के प्रमुख कार्यों में से एक है। C# (.NET) इकोसिस्टम में, डेवलपर के पास सैकड़ों ड्राइवर और ORM उपलब्ध हैं, लेकिन सबसे अधिक मांग वाले रिलेशनल DBMS (PostgreSQL) और डॉक्यूमेंट-ओरिएंटेड NoSQL समाधान (MongoDB) बने हुए हैं। इस लेख में, हम व्यावहारिक उदाहरणों के साथ समझेंगे कि दोनों डेटाबेस से कैसे कनेक्ट करें, CRUD-संचालन करें और किसी विशिष्ट कार्य के लिए उपयुक्त टूल का चयन करें।

\n\n

1. C# में PostgreSQL: Npgsql के माध्यम से कनेक्शन और CRUD

\n\n

.NET में PostgreSQL के साथ कार्य करने के लिए लाइब्रेरी Npgsql का उपयोग किया जाता है — यह एक उच्च-प्रदर्शन ADO.NET प्रदाता है। इसे NuGet के माध्यम से स्थापित करें:

\n\n
dotnet add package Npgsql
\n\n

1.1. डेटाबेस से कनेक्शन

\n\n

स्थानीय PostgreSQL सर्वर के लिए कनेक्शन स्ट्रिंग इस प्रकार दिखती है:

\n\n
string connectionString = "Host=localhost;Port=5432;Database=testdb;Username=postgres;Password=your_password";
\n\n

DB के साथ कार्य करने के लिए एक सहायक क्लास बनाएं:

\n\n
using Npgsql;\n\npublic class PostgresService\n{\n    private readonly string _connectionString;\n\n    public PostgresService(string connectionString)\n    {\n        _connectionString = connectionString;\n    }\n\n    public async Task InsertUserAsync(string name, int age)\n    {\n        await using var conn = new NpgsqlConnection(_connectionString);\n        await conn.OpenAsync();\n\n        var cmd = new NpgsqlCommand(\n            "INSERT INTO users (name, age) VALUES (@name, @age)", conn);\n        cmd.Parameters.AddWithValue("name", name);\n        cmd.Parameters.AddWithValue("age", age);\n\n        await cmd.ExecuteNonQueryAsync();\n    }\n\n    public async Task<List<User>> GetAllUsersAsync()\n    {\n        var users = new List<User>();\n\n        await using var conn = new NpgsqlConnection(_connectionString);\n        await conn.OpenAsync();\n\n        var cmd = new NpgsqlCommand("SELECT id, name, age FROM users", conn);\n        await using var reader = await cmd.ExecuteReaderAsync();\n\n        while (await reader.ReadAsync())\n        {\n            users.Add(new User\n            {\n                Id = reader.GetInt32(0),\n                Name = reader.GetString(1),\n                Age = reader.GetInt32(2)\n            });\n        }\n\n        return users;\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\n

1.2. PostgreSQL के साथ Entity Framework Core का उपयोग

\n\n

रिलेशनल डेटा के साथ अधिक सुविधाजनक कार्य के लिए, ORM Entity Framework Core का उपयोग Npgsql.EntityFrameworkCore.PostgreSQL प्रदाता के साथ करें:

\n\n
dotnet add package Microsoft.EntityFrameworkCore\ndotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
\n\n

मॉडल और कॉन्टेक्स्ट का उदाहरण:

\n\n
public 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=testdb;Username=postgres;Password=your_password");\n    }\n}
\n\n

अब CRUD-संचालन सरल हो जाते हैं:

\n\n
using (var db = new AppDbContext())\n{\n    // Create\n    db.Users.Add(new User { Name = "Alice", Age = 30 });\n    db.SaveChanges();\n\n    // Read\n    var users = db.Users.ToList();\n\n    // Update\n    var user = db.Users.First();\n    user.Age = 31;\n    db.SaveChanges();\n\n    // Delete\n    db.Users.Remove(user);\n    db.SaveChanges();\n}
\n\n

2. C# में MongoDB: आधिकारिक ड्राइवर के माध्यम से डॉक्यूमेंट के साथ कार्य

\n\n

MongoDB एक डॉक्यूमेंट-आधारित NoSQL डेटाबेस है,

ब्लॉग

पुस्तक अनुशंसाएँ