نمایش نتایج 1 تا 8 از 8

نام تاپیک: Model and View Model

  1. #1
    کاربر دائمی آواتار alireza_rashvand
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    قزوین
    پست
    331

    Model and View Model

    با سلام

    اگر بخواهیم لیستی از مودل کاربران در Identity 2.0 به یک ویو مدل بدیم چطور باید انجام داد؟
    می خواهم لیستی از کاربران همراه با نوع رول رو به صورت لیست در اختیار داشته باشم.

    اگر از AutoMapper هم می شود لطفا بفرمایید.

    گیر اصلیم اینجاست که نمی دونم مودل user در Identity کدام است

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مهر 1390
    محل زندگی
    rayancode.ir
    پست
    1,559

    نقل قول: Model and View Model

    سلام.
    مدل که در identity نمیشه دست زد. در داخل یکی از کلاس های identity که کلاس های بعدی از اون مشتق میشن.
    اما شما می تونی از uerview model در مدل ها استفاده کنی و کدی رو که می خوای بنویسی.
    به نظر کد sample که identity.sample هست رو نگاه کنی دقیقا همین رو که می خوای انجام داده.
    من خودم از identity.sample استفاده کردم و اون رو custom کردم و جاهایی رو هم که اشکال داشت درست کردم و در اخر اومدم و اون رو کلا بردم داخل یه dll مجرا تا بشه هر پروژه که بخوام استفاده کنم.
    موفق باشید

  3. #3
    کاربر دائمی آواتار alireza_rashvand
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    قزوین
    پست
    331

    نقل قول: Model and View Model

    سلام سپاس از شما.
    اصلا identity رو بذارید کنار
    چطور می شه لیستی از یک مودل رو به لیستی از ویومدل داد...؟
    بدون استفاده از AutoMapper تا به حال ندیدم لیستی از مودل در لیستی از ویو مودل بریزند (شاید باید یک حلقه از مودل ایجاد کرد تک به تک ان را ریخت)
    اما در AutoMapper می تونیم با یک خط کد لیستی از مودل رو به لیستی از یومودل بدیم

    در Identity 2.0 (لینک رو ببینید قبلا ان چیزی که شما گفتید انجام دادم) مشکل اینجاست که مودل user مشخص نیست(یا حداقل بنده نمی دونم) تا ان را به ویومودل بدم.

    لطفا دوستان اگر با Identity 2.0 کار نکردند حداقل نمونه کدی بدید تا لیستی از مودل به لیستی از ویومودل داده شود (چه بدون AutoMapper و یا به وسیله AutoMapper) تا یاد بگیرم.
    و اگر کسی می دونه در Identity 2.0 مودل یوزر کجاست یا اگر بخواهیم لیستی از کاربران داشته باشیم (همراه با رولشان) چطور می تونیم به ان دست پیدا کنیم.

    متاسفانه هرچه سرچ می کنم به نتیجه ای نمی رسم

  4. #4

    نقل قول: Model and View Model

    با سلام.
    در مورده پاس دادن اطلاعات از Model به ViewModel بدون استفاده از AutoMapper این روش رو میتونی استفاده کنی:
    فرض کنیم مدل ما به این شکل هستش:

    public class MyModel
    {
    public int Id { get; set; }

    [Required]
    [MaxLength(50)]
    public string Title { get; set; }

    public string Link { get; set; }

    public int Visit { get; set; }
    }

    و فرض می کنیم ViewModelای داریم که به این شکل هستش:

    public class MyViewModel
    {
    public int Id { get; set; }


    [Display(Name = "عنوان")]
    public string VTitle { get; set; }


    [Display(Name = "تعداد بازدید")]
    public int Visit { get; set; }
    }

    تذکر: برای اینکه نشون بدیم ViewModel میتونه با Model فرق داشته باشه Link رو در اون قرار ندادیم.
    حالا با دستور زیر اطلاعات رو دریافت می کنیم:

    var model = db.MyModels.Select(
    ms => new MyViewModel
    {
    Id = ms.Id,
    VTitle = ms.Title,
    Visit = ms.Visit
    }).ToList();

  5. #5
    کاربر دائمی آواتار alireza_rashvand
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    قزوین
    پست
    331

    نقل قول: Model and View Model

    سلام
    اقای نجفی پور بازهم ما رو شرمنده کردید :)

    با توجه به گفته شما :

    ApplicationDbContext db = new ApplicationDbContext();


    var model = db.Users.Select(MS => new UserInfo
    {
    User = MS.name + " " + MS.family,
    UserId = MS.Id,
    roleId = MS.Roles.FirstOrDefault().RoleId,
    RoleName = "؟؟؟"
    }).ToList();




    قصد دارم نام کاربران همراه با رولشون در اختیار داشته باشم از انجایی که در این مثال هر کاربر یک رول داره از Roles.FirstOrDefault استفاده کردم و گرنه می شد لیستی از رول های کاربر رو در اختیار داشت

    مشکلی که الان برام به وجود اومده اینکه نمی دونم چطور می شه نام رول رو بدست اورد...
    آخرین ویرایش به وسیله alireza_rashvand : جمعه 04 اردیبهشت 1394 در 20:20 عصر

  6. #6

    نقل قول: Model and View Model

    خواهش می کنم
    توی مثال Identity کنترلری به اسم UserAdmin داریم که در Index نام تمامی کاربرها رو لیست می کنه. در اکشن Details تمام Role های کاربر مورد نظر رو نمایش میده.
    برای اینکار هم از تابع GetRolesAsync که مربوط به کلاس ApplicationUserManger هست استفاده می کنه. سورس اصلی رو که نگاه کردم متاسفانه متوجه رونده کار نشدم
    اما برای اینکاری که میخواید انجام بدید یه عبارتی نوشتم که نمیدونم تا چه حد بهینه یا درست هستش اما جواب میده:

    var roles = db.Roles.ToList();
    var model = db.Users.Select(MS => new RolesView
    {
    User = MS.Name,
    UserId = MS.Id,
    RoleId = MS.Roles.FirstOrDefault().RoleId,
    RoleName = roles.Where(j => j.Id == MS.Roles.FirstOrDefault().RoleId).Select(a => a.Name).FirstOrDefault()
    }).ToList();

    پ.ن: قطعا کدهای بهینه و بهتری هم هستش. اگه به نتایج بهتری رسیدید من رو هم در جریان بذارید. مرسی
    آخرین ویرایش به وسیله mohammadreza.najafipour : سه شنبه 08 اردیبهشت 1394 در 11:38 صبح

  7. #7
    کاربر دائمی آواتار alireza_rashvand
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    قزوین
    پست
    331

    نقل قول: Model and View Model

    متاسفانه این خطا رو میده:


    Unable to create a constant value of type 'Microsoft.AspNet.Identity.EntityFramework.Identit yRole'. Only primitive types or enumeration types are supported in this context.


  8. #8

    نقل قول: Model and View Model

    نقل قول نوشته شده توسط alireza_rashvand مشاهده تاپیک
    متاسفانه این خطا رو میده:


    Unable to create a constant value of type 'Microsoft.AspNet.Identity.EntityFramework.Identit yRole'. Only primitive types or enumeration types are supported in this context.

    این کد برای خودم کار کرد. و خطا هم عجیب به نظر میاد. اگه یه پروژه ی جدا درست کنید و اینجا آپلود کنید ممنون میشم. اینطوری فکر کنم بشه بهتر بررسی کرد.

تاپیک های مشابه

  1. View Model
    نوشته شده توسط iman mohadesi در بخش ASP.NET MVC
    پاسخ: 4
    آخرین پست: جمعه 29 آذر 1392, 12:36 عصر
  2. سوال: پیاده سازی view model
    نوشته شده توسط hamidhws در بخش Silverlight
    پاسخ: 2
    آخرین پست: پنج شنبه 02 آبان 1392, 13:02 عصر
  3. دو مدل MSF & 4+1 Architectural View Model
    نوشته شده توسط vbiman در بخش مباحث و مقالات فراگیر مهندسی نرم افزار
    پاسخ: 7
    آخرین پست: یک شنبه 16 خرداد 1389, 13:45 عصر
  4. report builder and reporting model
    نوشته شده توسط ساراساراسارا در بخش ابزارهای گزارش سازی
    پاسخ: 12
    آخرین پست: یک شنبه 23 فروردین 1388, 15:44 عصر
  5. C#‎ Code to UML Model and vice versa
    نوشته شده توسط omid_Ahmadi در بخش برنامه نویسی مبتنی بر Microsoft .Net Framework
    پاسخ: 0
    آخرین پست: یک شنبه 24 اردیبهشت 1385, 10:24 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •