PDA

View Full Version : سوال: انتقال اطلاعات از جدول به یک کلاس



Iran58
چهارشنبه 29 فروردین 1397, 16:17 عصر
سلام
فرض کنید کلاس زیر را داریم

public class Test
{
public int Id { get; set; }
public string Name { get; set; }
}

وکنترل زیر را هم داریم

[HttpPost]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "UserId,Name,Password")] User user)
{
if (ModelState.IsValid)
{
if (db.Users.Any(c => c.Name==user.Name))
{
return RedirectToAction("Index","Home");
var list = db.Permissions.Where(c => c.UesrId == Convert.ToInt32(user.Password))
.Select(c => c.RoleId).ToList();
//List<Test> r=new List<Test>();
}
}
return View(user);
}

حال چگونه می توانم کلاس Test را با لیستی که از جدول میگیرم مقداردهی کنم
چه کدی باید بنویسم
باتشکر

Mahmoud.Afrad
چهارشنبه 29 فروردین 1397, 23:11 عصر
جلوی select نمونه ای از کلاس بسازید و مقداردهی کنید.

Iran58
پنج شنبه 30 فروردین 1397, 14:37 عصر
جلوی select نمونه ای از کلاس بسازید و مقداردهی کنید.
چگونه باید این کار را بکنم

ژیار رحیمی
پنج شنبه 30 فروردین 1397, 15:11 عصر
var list = db.Permissions.Where(c => c.UesrId == Convert.ToInt32(user.Password))
.Select(c => return new Test{Id= c.RoleId}).ToList();

Iran58
پنج شنبه 30 فروردین 1397, 15:34 عصر
var list = db.Permissions.Where(c => c.UesrId == Convert.ToInt32(user.Password))
.Select(c => return new Test{Id= c.RoleId}).ToList();

سلام
کاربرد return درکد چیه وقتی نم مینویسم ارور میگیرد اما وقتی از return استفاده نمیکنم درست کارمیکند

ژیار رحیمی
پنج شنبه 30 فروردین 1397, 22:23 عصر
وقتی کویری بدون استفاده ازSelect انجام شود نوع متغییر list از نوع List<Permistion> خواهد بود.
اگر کویری با Select تعدادی از فیلد ها را انتخاب شود نوع متغییر list از نوع List<Anonymous> خواهد بود. به جای دیتاتایپ Anonymous به ازای هر رکورد اگر بخواهیم دیتاتایپ Test برگشت داده شود از کلمه کلیدی return استفاده میشود.در اینصورت نوع متغییر list از نوع List<Test> خواهد شد.