C# وPostgreSQL: دليل شامل للتكامل والعمل مع قواعد البيانات

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

لماذا C# وPostgreSQL قوة تستحق الإتقان

\n\n

عالم التطوير هو اختيار دائم. باختيار اللغة والإطار وقاعدة البيانات، فإننا في الواقع نضع أساس المشروع المستقبلي. وإذا كنت هنا، فأنت مهتم بواحدة من أقوى وأحدث المجموعات في تطوير المؤسسات: C# وPostgreSQL.

\n\n

لماذا هذا الثنائي؟ C# هي لغة ناضجة، ذات كتابة صارمة، مع نظام بيئي ضخم وأداء رائع. PostgreSQL هو نظام إدارة قواعد بيانات كائني-علائقي يتفوق على العديد من المنافسين من حيث الإمكانيات والاستقرار ودعم أنواع البيانات المعقدة (مثل JSONB والمصفوفات والبحث النصي الكامل). معًا، يمنحانك ليس مجرد "قاعدة بيانات ولغة"، بل أداة مرنة وقابلة للتوسع لبناء تطبيقات الويب والخدمات المصغرة والأنظمة التحليلية.

\n\n

في هذا الدليل، لن نمر فقط على النظرية. سنغوص عمليًا: من تثبيت برنامج التشغيل إلى كتابة المعاملات المعقدة. ستتعلم كيفية إعداد الاتصال بشكل صحيح، وتنفيذ عمليات CRUD، واستخدام ORMs الحديثة (Entity Framework Core وDapper)، وتجنب الأخطاء الشائعة. هيا بنا!

\n\n

الخطوة 1: التحضير: ما يجب تثبيته

\n

قبل كتابة الكود، دعنا نتأكد من أن لديك كل ما يلزم.

\n
    \n
  • PostgreSQL — قم بتنزيل أحدث إصدار من الموقع الرسمي. أثناء التثبيت، تذكر المنفذ (الافتراضي 5432) وكلمة مرور المستخدم المتميز postgres.
  • \n
  • Visual Studio / Rider / VS Code — أي بيئة تطوير متكاملة تدعم .NET.
  • \n
  • .NET SDK (6.0 أو 7.0 أو 8.0) — كلما كان أحدث كان أفضل. سنستخدم .NET 8.
  • \n
\n\n

الآن، أنشئ مشروعًا جديدًا. لتطبيق وحدة التحكم، الأمر بسيط:

\n
dotnet new console -n CsharpPostgresDemo\ncd CsharpPostgresDemo
\n\n

الأهم هو تثبيت موفر PostgreSQL. في عالم .NET، هذه هي الحزمة Npgsql (تُنطق "إن-بي-إس-كيو-إل"). وهي الأساس لجميع المكتبات الأخرى.

\n
dotnet add package Npgsql
\n\n

الخطوة 2: أول اتصال: التحقق من الاتصال

\n

لننشئ برنامجًا نصيًا بسيطًا يتصل بقاعدة البيانات ويعرض إصدار الخادم. هذه أفضل طريقة للتأكد من أن كل شيء يعمل.

\n\n
using Npgsql;\n\n// سلسلة الاتصال: أدخل بياناتك\nstring connectionString = "Host=localhost;Port=5432;Database=postgres;Username=postgres;Password=your_password";\n\nusing var connection = new NpgsqlConnection(connectionString);\nconnection.Open();\n\n// تنفيذ الاستعلام\nusing var command = new NpgsqlCommand("SELECT version();", connection);\nstring version = (string)await command.ExecuteScalarAsync();\n\nConsole.WriteLine($"تم الاتصال بنجاح! إصدار PostgreSQL: {version}");
\n\n

قم بتشغيل الكود. إذا رأيت في وحدة التحكم شيئًا مثل "PostgreSQL 16.1 on x86_64-pc-linux-gnu..."، فقد نجحت! إذا لم يحدث ذلك، تحقق من كلمة المرور واسم المضيف وتأكد من تشغيل خدمة PostgreSQL.

\n\n

الخطوة 3: عمليات CRUD في C# مع PostgreSQL

\n

الآن بعد أن أصبح الاتصال يعمل، دعنا ننشئ جدولًا وننفذ الدورة الكاملة: إنشاء، قراءة، تحديث، حذف.

\n\n

إنشاء الجدول

\n
string createTableSql = @"\n    CREATE TABLE IF NOT EXISTS users (\n        id SERIAL PRIMARY KEY,\n        name VARCHAR(100) NOT NULL,\n        email VARCHAR(255) UNIQUE NOT NULL,\n        created_at TIMESTAMP DEFAULT NOW()\n    );";\n\nusing var cmdCreate = new NpgsqlCommand(createTableSql, connection);\nawait cmdCreate.ExecuteNonQueryAsync();\nConsole.WriteLine("تم إنشاء جدول users.");
\n\n

إدراج البيانات (INSERT)

\n
// نستخدم استعلامًا مع معلمات - هذه حماية من حقن SQL!\nstring insertSql = "INSERT INTO users (name, email) VALUES (@name, @email) RETURNING id;";\n\nusing var cmdInsert = new NpgsqlCommand(insertSql, connection);\ncmdInsert.Parameters.AddWithValue("@name", "أل                

المدونات

توصيات الكتب