با سلام
من مشغول یه برنامه به زبان سیلورلایت هستم که در اون از wcf ria service و ef5 code first استفاده می کنم .
در برنامه اومدم مدلی که دیتابیس از روی اون ساخته میشه رو در بخش asp که میزبان برنامه سیلورلایت هست قرار دادم و در بخش سیلورلایت هر موقع که بخوام از روی یک موجودیت ( مثلا person ) نمونه بسازم یه رفرنس به مدل خودم در بخش asp می زنم و مدلمو می سازم
var sample= new test.web.model.entity.person()
sample.name="ali";
اما این روش چند مشکل برای من داشت که یکی از اونها اعتبار سنجی بود . می می خواستم از اینترفیس inotifydataerrorinfo استفاده کنم اما چون در بخش asp نمیشه از این اینترفیس استفاده کرد مجبور شدم یه نمونه از مدل خودم رو همزمان در پروژه سیلورلایت ایجاد کنم به این صورت :
public class localperson:inotifypropertychanged
{
public test.web.model.person peson{set;get}
public localperson()
{
person=new test.web.model.entity.person();
}
public string name
{
set
{
person.name=value;
PropertyChanged("name");
}
get
{
return person.name;
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void PropertyChanged(String propertyName )
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
کلیت قضیه اینه اما ممکنه سوال براتون پیش بیاد که ایترفیس inotifydataerrorinfo اینجا پیاده سازی نشده که به دلیل اینکه مشکل من این اینترفیس نیست نزاشتمش .
با این تفاسیر آیا من اصولی کار کردم ؟
آیا راه بهتری هست ؟