Advertisement

Advertisement

How to use Dapper instead of entity framework in asp.net mvc, core, web api

 How to use Dapper instead of entity framework in asp.net mvc, core, web api 

मैं आपको ASP.NET के बारे में और Dapper के उपयोग के बारे में समझाता हूं:

Dapper एक lightweight ORM (Object-Relational Mapper) है जो .NET के लिए बनाया गया है। यह डेटाबेस के साथ काम करने को आसान बनाता है। यहाँ कुछ प्रमुख फायदे हैं:

  1. स्पीड और परफॉरमेंस
  • Dapper बहुत तेज़ है क्योंकि यह मिनिमल ORM है
  • यह Entity Framework जैसे भारी ORM से कई गुना फास्ट है
  • डायरेक्ट SQL क्वेरी के जितना ही परफॉरमेंस देता है
  1. सरल उपयोग
  • आसान सिंटैक्स
  • कम कोड लिखना पड़ता है
  • SQL क्वेरी का पूरा कंट्रोल मिलता है
  1. ASP.NET के साथ इंटीग्रेशन
  • ASP.NET MVC या Web API में आसानी से उपयोग किया जा सकता है
  • डेटाबेस ऑपरेशंस को कंट्रोलर्स में सीधे इम्प्लीमेंट कर सकते हैं
  1. फ्लेक्सिबिलिटी
  • स्टोर्ड प्रोसीजर का सपोर्ट
  • कॉम्प्लेक्स क्वेरीज़ लिख सकते हैं
  • डायनामिक पैरामीटर्स का उपयोग कर सकते हैं

How to use dapper

  • NuGet पैकेज इंस्टॉल करने होंगे:
    • Dapper
    • Microsoft.Data.SqlClient.
    ,
    appsettings.json

        "ConnectionStrings": {
            "DefaultConnection": "Server=DESKTOP-9M9EDAA\\SQLEXPRESS; Database=DbAbpDec; Trusted_Connection= True; MultipleActiveResultSets=True; TrustServerCertificate=True;",
            "providerName": "System.Data.SqlClient"
        }

    using System.Data.SqlClient;
    using Dapper;
    using System.Configuration;
    using System.Web.Configuration;


    public class DatabaseOperations
    {
        //private readonly string _connectionString;
         // Then use either
    string connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
    // Or
    string connectionString = WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

        public DatabaseOperations(string connectionString)
        {
            _connectionString = connectionString;
        }

        // SqlCommand with ExecuteReader example
        public List<Product> GetProductsWithCommand()
        {
            var products = new List<Product>();
            
            using (var connection = new SqlConnection(_connectionString))
            {
                connection.Open();
                using (SqlCommand cmd = new SqlCommand("SELECT * FROM Products", connection))
                {
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var product = new Product
                            {
                                ProductId = Convert.ToInt32(reader["ProductId"]),
                                Name = reader["Name"].ToString(),
                                Price = Convert.ToDecimal(reader["Price"])
                            };
                            products.Add(product);
                        }
                    }
                }
            }
            return products;
        }

        // SqlCommand with Parameters
        public void InsertProductWithCommand(Product product)
        {
            using (var connection = new SqlConnection(_connectionString))
            {
                connection.Open();
                using (SqlCommand cmd = new SqlCommand("INSERT INTO Products (Name, Price)                                                                                                VALUES (@Name, @Price)", connection))
                {
                    cmd.Parameters.AddWithValue("@Name", product.Name);
                    cmd.Parameters.AddWithValue("@Price", product.Price);
                    cmd.ExecuteNonQuery();
                }
            }
        }

        // Stored Procedure with SqlCommand
        public void UpdateProductWithStoredProc(Product product)
        {
            using (var connection = new SqlConnection(_connectionString))
            {
                connection.Open();
                using (SqlCommand cmd = new SqlCommand("sp_UpdateProduct", connection))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@ProductId", product.ProductId);
                    cmd.Parameters.AddWithValue("@Name", product.Name);
                    cmd.Parameters.AddWithValue("@Price", product.Price);
                    cmd.ExecuteNonQuery();
                }
            }
        }

        // Transaction with SqlCommand
        public void InsertMultipleProductsWithTransaction(List<Product> products)
        {
            using (var connection = new SqlConnection(_connectionString))
            {
                connection.Open();
                using (SqlTransaction transaction = connection.BeginTransaction())
                {
                    try
                    {
                        using (SqlCommand cmd = new SqlCommand("INSERT INTO Products (Name, Price)                                                                              VALUES (@Name, @Price)", connection, transaction))
                        {
                            foreach (var product in products)
                            {
                                cmd.Parameters.Clear();
                                cmd.Parameters.AddWithValue("@Name", product.Name);
                                cmd.Parameters.AddWithValue("@Price", product.Price);
                                cmd.ExecuteNonQuery();
                            }
                        }
                        transaction.Commit();
                    }
                    catch
                    {
                        transaction.Rollback();
                        throw;
                    }
                }
            }
        }
    }
    How to use Dapper instead of entity framework in asp.net mvc, core, web api How to use Dapper instead of entity framework in asp.net mvc, core, web api Reviewed by Rikesh on December 27, 2024 Rating: 5

    No comments:

    Powered by Blogger.