asp.net mvc 5 - using stored procedure - add controller and view manual


Adımlar sırasıyla şöyle olacak;

1 - sp oluştur

2- bu sp yi visual studio projesindeki entity modele ekle

3- Function import ile bu sp yi function olarak kaydet

4- projeye yeni "boş" controller ekle ve bunu yeni sp clasınla oluştur.

5- yeni view "boş" view ekle ve bunu IEnumerable olarak 4. adımda yaptığın controllerdan oluştur.

** aşağıda bu adımların ekran görüntüleri ve bir kısım kodları vardır.

1 - sp oluştur (örnek nortwind veritabanı)



USE [NORTHWND]
GO
 SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

create procedure [dbo].[UlkelereGorePlasiyerlerinSatislari] 
 AS
SELECT Orders.OrderID ,Employees.Country
, Employees.LastName, Employees.FirstName, 
Orders.ShippedDate, Orders.OrderID
, "Order Subtotals".Subtotal AS SaleAmount,
(FirstName + ' ' + LastName) as Plasiyer
FROM Employees INNER JOIN 
(Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID) 
ON Employees.EmployeeID = Orders.EmployeeID

*********************************************

2- bu sp yi visual studio projesindeki entity modele ekle






3- Function import ile bu sp yi function olarak kaydet







4- projeye yeni "boş" controller ekle ve bunu yeni sp clasınla oluştur.





using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcNorthWind.App_Data;


namespace MvcNorthWind.Controllers
{
    public class UlkelereGoreSatislarController : Controller
    {
NorthwindEntities model = new NorthwindEntities();

         public ActionResult Index()
        {

            return View(model.sp_ulkeyeGorePlasiyerSatislari().OrderByDescending(p=>p.SaleAmount).Take(100));
        }



    }
}


5- yeni view "boş" view ekle ve bunu IEnumerable olarak 4. adımda yaptığın controllerdan oluştur.




@model IEnumerable<MvcNorthWind.App_Data.UlkelereGorePlasiyerlerinSatislari_Result>


@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Ülkelere Göre Satışlar - Tutara Göre ilk 100 - </h2>

<hr />

<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Country)
</th>
@*<th>
@Html.DisplayNameFor(model => model.FirstName)
</th>
<th>
@Html.DisplayNameFor(model => model.LastName)
</th>
<th>
@Html.DisplayNameFor(model => model.OrderID)
</th>*@
<th>
@Html.DisplayNameFor(model => model.Plasiyer)
</th>
<th>
@Html.DisplayNameFor(model => model.SaleAmount)
</th>
<th>
@Html.DisplayNameFor(model => model.ShippedDate)
</th>

<th></th>
</tr>

@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Country)
</td>
@*<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.OrderID)
</td>*@
<td>
@Html.DisplayFor(modelItem => item.Plasiyer)
</td>
<td>
@Html.DisplayFor(modelItem => item.SaleAmount)
</td>
<td>
@Html.DisplayFor(modelItem => item.ShippedDate)
</td>
 
 
</tr>
}


</table>
******************************************************************************
/// sonuç, ana menü ve sayfa;







Yorumlar