PDA

View Full Version : سوال: Relation بین Model ها بدون ذخیره شدن در دیتابیس.



aliblue
یک شنبه 14 اردیبهشت 1393, 08:22 صبح
با سلام.فرض کنید 2 مدل زیر را داریم:
public class Post
{
public string PostId { get; set; }
public string Body { get; set; }
public virtual List<Comment> Comments { get; set; }
}
public class Comment
{
public string CommentId { get; set; }
public string PostId { get; set; }
public string Body { get; set; }
public virtual Post Post { get; set; }
}
و در جای دیگری لیستی از Post و لیستی از Comment میسازیم:
List<Post> Posts = new List<Post>();
List<Comment> Comments = new List<Comment>();
و سپس در برنامه این لیست ها را پر میکنیم.
اما Relation بین آنها کار نمیکند یعنی وقتی مینویسم post.Comments، نال بر میگرداند. چه کاری باید انجام دهم که relation برقرار شود؟تمام کدی که نوشتم همین بود که نوشتم.
در ضمن قرار نیست داده ها در دیتابیس ذخیره شود و فقط در آن لیست ها ذخیره می شود.

alireza.tabesh
یک شنبه 14 اردیبهشت 1393, 16:43 عصر
وقتی لیست post رو پر می کنید باید آیتم comments رو هم پر کنید . یعنی به ازای هر بک post شما یک لیست از comment ها دارید . در ضمن در کلاس Comment باید به صورت زیرعمل کنید :


در کانستراکتور :
this.Post = new HashSet<Post>();

و برای پست :

public ICollection<Post> Post {get;set;}

rezaei_y
یک شنبه 14 اردیبهشت 1393, 16:59 عصر
به نظر من نیازی به مدل comment ندارید شما از طریق مدل post میتونید به اطلاعات comment دسترسی داشته باشید

minaforotan
دوشنبه 15 اردیبهشت 1393, 00:04 صبح
post.Comments، کافی نیست باید اسم فیلد مورد نظزتم بگی مثلا
post.Comments.CommentId.
و البته ارتباط یک به چند است و میتونی از جدول comment ها به post ها دسرسی داشته باشی