PDA

View Full Version : آموزش: Attribute based Data Access Layer



saeedalg
دوشنبه 18 مرداد 1389, 17:16 عصر
خوب، تقریبا هر پروژه ای نیاز به یک DAL خوب داره، من یه نمونش رو که برای جایی نوشته بودم با کسر جداول و یه سری موارد دیگه براتون گذاشتم، نوشتن یه نمونه هم برای کار کردن خیلی سادست شما شی رو میدید و سیرچ و آپدیت و اینزرت رو براتون انجام میده. فقط تایپ شی رو هم باید بدید که نیاز داره یه wrapper روش بکشید تا ساده تر شه.
تو این برنامه هم با Attributثها هم با Persistance و تراکنشها و هم با OO DB آشنا میشید، هر چند آدم از Nhibernate, ... استفاده کنه بهتر و سریعتره ولی این هم یه مدلشه.

یه نمونه کد هم گذاشتم که نحوه استفاده ازش روببینید، توجه کنید که این جدول رو باید تو SQL درست کنید بعد یه برنامه ای مستقل از این برنامه بنویسید (مثلا یه ویندوز APP) بعد این تیکه کد رو تو یه فانکشن اون اینزرت کنید. همچنین باید DLL یا پروژه DAL موجود در Attachment رو هم اضافه کنید به رفرنسها.



try
{
CustomerDetail customerDetail = new CustomerDetail();
PersistenceServiceFactory.getPS().Create(customerD etail, customerDetail.GetType());
customerDetail.JointName = "saeed";
PersistenceServiceFactory.getPS().Update(customerD etail, customerDetail.GetType());
customerDetail = new CustomerDetail();
customerDetail.JointName = "saeed";
PersistenceServiceFactory.getPS().Create(customerD etail, customerDetail.GetType());

List<object> customers = PersistenceServiceFactory.getPS().GetObjects(custo merDetail, SearchType.AND);

(customers[0] as CustomerDetail).JointName = "yahya";
PersistenceServiceFactory.getPS().Update(customers[0], customers[0].GetType());

ICustomerDetail detail = PersistenceServiceFactory.getPS().GetObject(custom erDetail, customerDetail.GetType()) as ICustomerDetail;
PersistenceServiceFactory.getPS().Delete(detail, customerDetail.GetType());


}
catch (Exception ex)
{

}