PDA

View Full Version : سوال: نحوه پیاده سازی کد SQL به صورت Linq در سورس برنامه ASP.Net MVC



armm1388
چهارشنبه 04 دی 1398, 16:23 عصر
​​با سلام

برای گرفتن یک گزارش ساده ، کد زیر را در ActionResult Index() مربوط به Controller مورد نظر قرار دادم.
public class PersonalController : Controller
{
private SchoolContext db = new SchoolContext();

private string FirstName_keyword = "1";
private string LastName_keyword = "1";
private string Phone_keyword = "1";


public ActionResult Index()
{

var listOfPersonal = db.Personals.Where(current =>
current.FirstName.Contains(FirstName_keyword) &
current.LastName.Contains(LastName_keyword) &
current.Phone.Contains(Phone_keyword)).ToList();

return View(listOfPersonal);


سوال اول اینکه : آیا برای گرفتن گزارش باید کد را در چنین جایی قرار داد؟ مد طراحی که وجود ندارد تا هر جا دلمان خواست یک دکمه بنام جستجو بگذاریم و کد مورد نظر را درون آن بگنجانیم.
سوال دوم اینکه : می خواهم دستور SQL مورد نظرم (SELECT * FROM Personals) را بجای کد مربوطه بگذارم. ابتدا با linqer دستورش را بدست آوردم.
from Personals in db.Personals
select new {
PersonID = Personals.PersonID,
FirstName = Personals.FirstName,
LastName = Personals.LastName,
Phone = Personals.Phone
}
ولی اینکه چطور آن را در سورس بگنجانم مهم است.
آن را به این شکل در سورس گنجاندم ولی ارور می دهد.
var listOfPersonal =
from Personals in db.Personals
select new
{
FirstName = Personals.FirstName,
LastName = Personals.LastName,
Phone = Personals.Phone
};

return View(listOfPersonal);

با سپاس فراوان

hamzehsh
جمعه 12 دی 1399, 20:09 عصر
سلام
به نظرم یک متد بساز که پارامترها رو بهش ارسال کنی و نتیجه ای که میخواهی رو برات برگردونه
بعد اون متد رو هر جایی که خواستی صدا بزن و پارامترها رو بهش ارسال کن
قسمت آخری که نوشتی کمی تغییرات میخواد

var listOfPersonal =
( from Personals in db.Personals
select new
{
FirstName = Personals.FirstName,
LastName = Personals.LastName,
Phone = Personals.Phone

}).ToList();