aghayex
دوشنبه 08 مهر 1392, 21:40 عصر
با سلام
من یه مدلی دارم که با ef5 کار می کنه در اون یه تیبل به تیبل اصلی وصل هست و در تیبل اصلی به عنوان یه پروپرتی معرفی میشه مثل خصوصیت جنسیت , اما وقتی که میام یه شی از تیبل اصلی درست می کنم و پروپرتی های اونو با فرم مقداردهی می کنم پروپرتی های ساده ( مثلا یه پروپرتی از نوع اینت ) رو وقتی در برنامه تغیر می دم سرویس ردیابی تغیرات ef سریع می فهمه که من در این شی خصوصیت از نوع اینت رو تغیر دادم اما اگه بیام یه پروپرتی از نوع یه تیبل دیگه درست کنم و در برنامه مقدار اونو تغیر بدم سرویس ردیابی تغیرات نمی فهمه . یه دوست گفت که باید برای کلاس های مدلت propertychange طراحی کنی تا مقادیر طراحی شده در دیتاگرید نمایش داده بشه .
آیا دوستی تا حالا به این مشکل برخورده ؟
در پایین مدل رو گذاشتم
public class Combo
{
[Key]
public int Id { set; get; }
public byte No { set; get; }
public string Name { set; get; }
[InverseProperty("MSex")]
public virtual ICollection<Morabi> MorabianSex { get; set; }
}
public class Morabi
{
[Key]
public int Id { set; get; }
public string Name { set; get; }
public string Last { set; get; }
public virtual Combo MSex { get; set; }
}
من یه مدلی دارم که با ef5 کار می کنه در اون یه تیبل به تیبل اصلی وصل هست و در تیبل اصلی به عنوان یه پروپرتی معرفی میشه مثل خصوصیت جنسیت , اما وقتی که میام یه شی از تیبل اصلی درست می کنم و پروپرتی های اونو با فرم مقداردهی می کنم پروپرتی های ساده ( مثلا یه پروپرتی از نوع اینت ) رو وقتی در برنامه تغیر می دم سرویس ردیابی تغیرات ef سریع می فهمه که من در این شی خصوصیت از نوع اینت رو تغیر دادم اما اگه بیام یه پروپرتی از نوع یه تیبل دیگه درست کنم و در برنامه مقدار اونو تغیر بدم سرویس ردیابی تغیرات نمی فهمه . یه دوست گفت که باید برای کلاس های مدلت propertychange طراحی کنی تا مقادیر طراحی شده در دیتاگرید نمایش داده بشه .
آیا دوستی تا حالا به این مشکل برخورده ؟
در پایین مدل رو گذاشتم
public class Combo
{
[Key]
public int Id { set; get; }
public byte No { set; get; }
public string Name { set; get; }
[InverseProperty("MSex")]
public virtual ICollection<Morabi> MorabianSex { get; set; }
}
public class Morabi
{
[Key]
public int Id { set; get; }
public string Name { set; get; }
public string Last { set; get; }
public virtual Combo MSex { get; set; }
}