PDA

View Full Version : اعمال نشدن ویژگی های Buddy Class به پراپرتی ها



resident
جمعه 04 مرداد 1392, 16:36 عصر
من یه کلاس به نام BaseEntityدارم که Propertyهای مشترک همه کلاسها در این کلاسه وهمه کلاسهای دیگه از جمله کلاس City از اون ارث میبرن.




namespace xx.yy.zz.ii
{
public abstract class BaseEntity : IEntity
{
public virtual int Id { get; set; }

public virtual string Title { get; set; }


}
}



=======================================
namespace xx.yy.zz.ii
{
publicpartialclassCity : Base
{
public City()
{
Province=newProvince();
}

publicProvince Province { get; set; }


publicstring Code { get; set; }
}
}





از اونجایی که من تو یه namespace دیگه اون کلاسها رو دارم، برای تعریف ویژگی های پراپرتی ها) برای scaffolding) در لایه Presentation از boddy کلاسها استفاده کردم. کد کلاسها رو در پایین گذاشتم.




namespace xx.aa.bb.cc
{
public class CityMDS
{
[HiddenInput(DisplayValue=false)]
public virtual int ID { get; set; }

[Display(Name="نامشهر")][Required(ErrorMessage="*")]
public virtual string Title { get; set; }


[StringLength(4,ErrorMessage="کدشهرنبایدبیشاز 4 رقمباشد ")]
public string Code { get; set; }
}
}
=======================================
namespace xx.aa.bb.cc
{
[MetadataType(typeof(CityMDS))]
public partial class City
{
}
}


و اما مشکل: metadataهایی که در City(xx.Presentation.MVC.Model) مشخص کردم که مثلا Title اجباریه و.... اعمال نمیشه.
دوستان متخصص لطفا بفرمایید مشکل از کجاست.

resident
شنبه 05 مرداد 1392, 12:28 عصر
مشکل رو پیدا کردم.
از اونجایی که namespace کلاسها جزئی از نام کلاس است، Partial کلاسها نمی توانند در namespace های متفاوتی باشند.