The Model-View-Controller (MVC) pattern was introduced in 1970s. It is a software design pattern that splits an application into three main aspects : Model, View and Controller. Moreover, MVC pattern forces a separation of concerns within an application for example, separating data access logic and business logic from the UI.
The Model represents a set of classes that describes the business logic and data. It also defines business rules for how the data can be changed and manipulated.
Moreover, models in Asp.Net MVC, handles the Data Access Layer by using ORM tools like Entity Framework or NHibernate etc. By default, models are stored in the Models folder of the project.
The View is responsible for transforming a model or models into UI. The Model is responsible for providing all the required business logic and validation to the view. The view is only responsible for displaying the data, that is received from the controller as the result.
Moreover, views in Asp.Net MVC, handles the UI presentation of data as the result of a request received by a controller. By default, views are stored in the Views folder of the project.
The Controller is responsible for controlling the application logic and acts as the coordinator between the View and the Model. The Controller receive input from users via the View, then process the user’s data with the help of Model and passing the results back to the View.
Moreover, controllers in Asp.Net MVC, respond to HTTP requests and determine the action to take based upon the content of the incoming request. By default, controllers are stored in the Controllers folder of the project.
A transaction is a single unit of work. If a transaction is successful, all of the data modifications made during the transaction are committed and become a permanent part of the database. If a transaction encounters errors and must be canceled or rolled back, then all of the data modifications are erased.
SQL Server operates in the following transaction modes.
- Autocommit transactions
Each individual statement is a transaction.
- Explicit transactions
Each transaction is explicitly started with the BEGIN TRANSACTION statement and explicitly ended with a COMMIT or ROLLBACK statement.
- Implicit transactions
A new transaction is implicitly started when the prior transaction completes, but each transaction is explicitly completed with a COMMIT or ROLLBACK statement.
- Batch-scoped transactions
Applicable only to multiple active result sets (MARS), a Transact-SQL explicit or implicit transaction that starts under a MARS session becomes a batch-scoped transaction. A batch-scoped transaction that is not committed or rolled back when a batch completes is automatically rolled back by SQL Server.
To apply transactions in C# use the following syntax
using (var Conn = new SqlConnection(_ConnectionString))
SqlTransaction trans = null;
trans = Conn.BeginTransaction();
using (SqlCommand Com = new SqlCommand(ComText, Conn, trans))
/* DB work */
catch (Exception Ex)
if (trans != null) trans.Rollback();
To Converts an expression of one data type to another in SQL Server 2012
Syntax for CAST:
CAST ( expression AS data_type [ ( length ) ] )
Declare @Basic_Liquidity_Ratio decimal(18,5)=0
cast(@Basic_Liquidity_Ratio AS varchar )
How achieve XML serialization?
public DataTable GetColumnNames( System.Data.DataTable table)
List<string> lstColumn = new List<string>();
if (table != null)
foreach (System.Data.DataColumn col in table.Columns)
In SQL , to execute a SP from another sp and get the resultset as table format use the following code
Stored Procedure 1
Create PROCEDURE [Sp_Report1]
select Description,CurrentValue from table1
Stored Procedure 2
Create PROCEDURE [Sp_Report2]
declare @tableInvestment table (Description nvarchar(50), CurrentValue decimal(18,5) )
insert into @tableInvestment
exec Sp_Report1 2 — 2 is the parameter value for @CID
select * from @tableInvestment