PDA

View Full Version : مقدار دهی توسط Automapper در رابطه چند به چند



night-wolf
جمعه 28 تیر 1398, 11:52 صبح
باسلام ، دوستان من 2 تا جدول دارم که رابطشون چند به چنده و بدیهیه که یه جدول رابط هم خواهد داشت !
شمای جداول به این صورت هست البته اینهارو شما ویو مدل در نظر بگیرید که قراره با اتو مپر اطلاعات به مدل اصلی منتقل بشه :

public abstract class BaseEntity
{
public BaseEntity()
{
Id = Guid.NewGuid();
}


[Key]
public Guid Id { get; set; }


[Display(Name = "تاریخ و زمان ثبت")]
public string InsertDateTime { get; set; }


[Display(Name = "تاریخ و زمان ویرایش")]
public string EditDateTime { get; set; }


[Display(Name = "وضعیت")]
public bool IsDeleted { get; set; }
}



public class ToothNumber : BaseEntity
{
[Column(TypeName = "nvarchar(3)")]
public string ToothNum { get; set; }


public virtual IList<ToothNumberVisit> ToothNumberVisits { get; set; }
}



public class Visit : BaseEntity
{
[Column(TypeName = "nvarchar(10)")]
public string VisitDate { get; set; }


[Column(TypeName = "nvarchar(10)")]
public string VisitTime { get; set; }


[Column(TypeName = "nvarchar(200)")]
public string Description { get; set; }


public Guid CustomerId { get; set; }

public virtual Customer Customer { get; set; }

public Guid[] ToothPlaceId { get; set; }

public virtual IList<ToothNumberVisit> ToothNumberVisits { get; set; }

}



public class ToothNumberVisit : BaseEntity
{


public Guid VisitId { get; set; }
public virtual Visit Visit { get; set; }


public Guid ToothNumberId { get; set; }
public virtual ToothNumber ToothNumber { get; set; }




}

حالا وقتی اطلاعات داخل Guid[] ToothPlaceId در سمت ویو ریخته میشه ارایه ای از آیدی شکل میگیره چطور با استفاده از AutoMapper این مقادیر رو در جدول واسط بریزم و رکورد ثبت بشه (اگر مثلا 2 تا مقدار داشته باشه دو تا رکورد واسط ثبت بشه؟)

البته من قبل پست گذاشتن خیلی از فروم های خارجی و داخلی رو گشتم اما به جوابم نرسیدم .

ممنون میشم راهنمایی کنید.

hakim22
یک شنبه 30 تیر 1398, 12:21 عصر
بهتره خودتون یک مپر دستی بسازید و اینکارو انجام بدید. از اتومپر در مواردی که کار ساده هست استفاده کنید. اگر پیچیده شد دستی همیشه قابل پیاده سازی هست.

night-wolf
دوشنبه 31 تیر 1398, 15:28 عصر
سمپلی ندارید که چطور خودم بسازم؟