I am using dapper, I got the following error message “Procedure or function has too many arguments specified” while inserting data into database.   

To Insert data into database using dapper c# .In business logic I have written code like this,

public void AddDepartment(DepartmentModel objDepartment)
        {
            //Addingthe Department
            try
            {
                connection();
                con.Open();
                con.Execute("usp_insertDepartment", objDepartment, commandType: CommandType.StoredProcedure);
                con.Close();
            }
            catch (Exception ex)
            {
                throw ex;
           }
        }

This is my SQL stored procedure,

CREATE PROCEDURE [dbo].[usp_insertDepartment]
(
@Name VARCHAR (50),
@Description VARCHAR (50)
)
AS
BEGIN
INSERT INTO Department (Name,[Description]) VALUES(@Name,@Description)
END

Solution:  Here, I modified the AddDepartment function, I  used to pass dynamicParmeters objects with appropriate parameters. The problem is resolved by the following code,

public void AddDepartment(DepartmentModel objDepartment)
        {
            //Addingthe Department
            try
            {
                DynamicParameters param = new DynamicParameters();
                param.Add("@Name",objDepartment.Name);
                param.Add("@Description",objDepartment.Description);
                connection();
                con.Open();
                con.Execute("usp_insertDepartment", param, commandType: CommandType.StoredProcedure);
                con.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            } }