صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 43

نام تاپیک: سوال:نحوه فراخوانی storeprocedure در wcf ria service

  1. #1

    سوال:نحوه فراخوانی storeprocedure در wcf ria service

    با سلام.
    چه طور چند spکه عملیات update را روی یک جدول انجام میدهند در domain service class را فراخوانی کنیم؟
    مثلا با زدن دکمه های مختلف در اینترفیس هر کدام از sp ها صدا زده شود.

  2. #2
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    1)ابتدا می بایست آن پروسیجر را به صورت تابع به Entity Model تان معرفی کنید:
    به قسمت طراحی Entity تان بروید(بر روی فایل edmx در پروژه وب دوبار کلیک کنید) سپس در تب باز شده راست کلیک و Add->Function Import را بزنید و در پنجره باز شده پروسیجرتان را انتخاب و یک نام برای تابع Entity اش انتخاب کنید.

    2)به Domain Service مربوطه بروید و متدی با هر نامی (ترجیحا نام پروسیجرتان ایجاد کنید) و ... در داخل آن متد با کدی شبیه کد زیر می توانید آن را اجرا کنید:
    this.ObjectContext.MyProcedure(...);


    3)حالا می توانید در کلاینت آن متد را صدا بزنید...

    موفق باشید

  3. #3

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    من sp ها را فراخوانی کردم همه اجرا میشه ولی spهای از نوع selectکه در sql درست اجرا میدهد اینجا فقط یک رکورد بر می گردونه. نوع متد IQueryable تعریف کردم.و Ilist هم تعریف میکنم همین مشکل را دارد.راه حل چیه؟

  4. #4
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    این مشکل از Entity Framework نیست و از سرویس ها هم نیست به احتمال زیاد یا جوابی که select شما می خواهد یکی بیشتر نیست و یا در متدی که برای پروسیجرتان تعریف کردید کدی باعث این خطا شده...

    اگر همچنان مشکل را دارید بهتر از کد sql پروسیجرتان را به همراه متدی که در Domain Service تان تعریف کردید را بگذارید...

  5. #5

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    ولی spرا در محیط sql ا جرا میکن درست جواب میدهد و چند رکورد برمیگرداند.اگر نوع متد را iqueryableتعریف کنم در اجرا این پیغام را می دهد.
    the result of a query cannot be enumerated more than once.
    و اگر از نوع ILISTتعریف کنم به ازای تمام رکورد هایی که sp در sqlبرمیگرداند اینجا رکورد اول تکرار میشود.(یعنی به ازای مثلا 5رکورد متفاوت 5بار رکورد اول را تکرار می کند).
    من در sp یک select نوشتم که یک فانکشن به ازای هر رکورد فراخوانی میکند و چند فیلد دیگر از یک جدول-
    و یک complex type هم براش تعریف کردم.
    سوال:آیا همه ی فیلد هایی که spبرمیگرداند را باید درفایل metedata typeتعریف کنم یا فقط اعلام یک فیلد به عنوان کلید اصلی کافیست؟
    با تشکر.

  6. #6

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سوال:فیلد هایی که با عنوان Navigation propertiesدر انتهای جدول ها در مدل اضافه میشود،برای چیه؟
    آیا میشه این فیلد ها را حذف کرد؟

  7. #7
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    ابتدا جواب سوال هاتون ->

    آیا همه ی فیلد هایی که sp برمیگرداند را باید درفایل metedata type تعریف کنم یا فقط اعلام یک فیلد به عنوان کلید اصلی کافیست؟
    اگر پروسیجرتان به جز entity های تولید شده بر می گرداند- باید یک metadata تعریف کنید در غیر اینصورت به خطا برخورد می کنید و WCF نمی تواند ComplexType شما را سریالی کند
    و تنها تعریف اون Metadata به WCF این را می فهماند و این که یک نوع دیتابیسی کلید داشته باشد یک باید است.

    فیلد هایی که با عنوان Navigation propertiesدر انتهای جدول ها در مدل اضافه میشود،برای چیه؟
    آیا میشه این فیلد ها را حذف کرد؟
    این خصیصه ها چیزی جز دستور select برای واکشی جدوال مرتبط به هم نیستندو معمولا کار ما را ساده تر می کنند...
    من تا به حال حذفشان نکردم ولی در هر Update دوباره اضافه میشن و حذفشان مشکلاتی پیش خواهد آورد ولی سعی کنید ازشان استفاده کنید

    ولی spرا در محیط sql ا جرا میکن درست جواب میدهد و چند رکورد برمیگرداند...
    چگونه مقادیر واکشی شده را در متدتان بر می گردانید؟

  8. #8

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام .
    با تشکر از جواب و لطفتون.
    میشه توضیح بدهید که چطور از navigation propertise ها استفاده کرد؟
    من برای واکشی اطلاعات از بانک فقط spهایی راکه نوشتم فراخوانی میکنم و از متد های سرویس استفاده نمیکنم چون این متد ها همه ی فیلد های جدول و navigation propertiseها را هم برمیگرداند.وفیلد ها قابل فیلتر نیست.آیا راه حلی وجود دارد؟
    --
    اگر فید هایی را از یک جدول حذف کنیم و model را update کنیم این فیلد ها حذف نمیشه و همچنین datasourse هم update نمیشه،چیکار باید کرد؟
    --
    من sp را اجرا کردم و در datagrid نمایش دادم بعد با damaindatasourse هم این کار را کردم،ولی بعد برای صفحه بندی اطلاعات یکdatapagerهم بایند کردم و pagesizeهم برای هر دو تعریف کردم ومتد را با true کردن loadاجرا کردم ولی همان خطایی را که گفتم داد.برای صفحه بندی اطلاعات متد را باید چطور فراخوانی کرد؟

  9. #9
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    میشه توضیح بدهید که چطور از navigation propertise ها استفاده کرد؟
    مثلا اگر بین دو جدول TableOne و TableTwo به ترتیب رابطه یک به چند وجود داشته باشد در Entity ایجاد شده برای جدول TableOne شما یک Navigation Property با نام TableTwos دارید که بوسیله این خصیصه شما می تونید تمام TableTwo های مرتبط به رکورد فعلی جدول TableOne را حدف/آپدیت/واکشی/اضافه (با/بدون شرط) کنید.

    مثلا کد زیر اولین رکورد از TableTwo های مرتبط با اولین رکورد از جدول TableOne را بر می گردونه:
    var tableTwo = this.ObjectContext.TableOnes.FirstOrDefault().Tabl  eTwos.FirstOrDefault();


    من برای واکشی اطلاعات از بانک فقط spهایی راکه نوشتم فراخوانی میکنم و از متد های سرویس استفاده نمیکنم چون این متد ها همه ی فیلد های جدول و navigation propertiseها را هم برمیگرداند.وفیلد ها قابل فیلتر نیست.آیا راه حلی وجود دارد؟
    شما می توانید هر گونه ... را توسط خود EF انجام دهید و اینکار را بسیار ساده کرده اما اگر جداول بزرگ و حجم داده ها هم زیاد باشد استفاده از sp ها مناسب تر است(البته EF 4 قابلیت استفاده از گوئری های کامپایل شده را نیز اضافه کرده که ...)
    راه حل برای چی؟

    اگر فید هایی را از یک جدول حذف کنیم و model را update کنیم این فیلد ها حذف نمیشه و همچنین datasourse هم update نمیشه،چیکار باید کرد؟
    فیلدهای حذف شده را پس از آپدیت فقط در ظاهر Entity Model تان می بینید و می توانید دستی حذفشان کنید(این یه باگ هست...)
    این هم بدیهی است چون DataSource ای که می بینید تابع Domain Service تان هست و Domain Service هم از روی Entity تان تولید می شود(فیلد هایی را که نمی خواهید در هر دو حذف کنید)

    ...متد را با true کردن loadاجرا کردم ولی همان خطایی را که گفتم داد...
    کدام خطا؟
    برای صفحه بندی اطلاعات متد را باید چطور فراخوانی کرد؟
    باید هر دو به یک منبع دیتا بایند شوند.برای مثال کدهای این صفحه را ببنید.

    موفق باشید

  10. #10

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    متا سفانه لینکی که گذاشته بودید باز نشد.اگه میشه دوباره بزارید.
    من از طریق domaindata sourseمتد را اجرا کردم و datapager و datagrid را به اون بایند کردم. ولی اجرا میکنم این خطا را میدهد
    .the result of a query cannot be enumerated more than once
    وقتی datapagerرا حذف میکنم datagrid رکورد ها را نمایش میدهد.

  11. #11
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    the result of a query cannot be enumerated more than once
    حدس من از خطای فوق اینه که یه جا در بایند کردن DataSource به DataGrid و DataPager یا هر دو باهم درخواست Query را می کنند یا DataGrid زودتر از DataPager این در خواست رو میده!
    فقط یک حدس(البته یادم هست که قبلا با یه همچین خطایی مواجه شدم ولی یادم نیست چه طور برطرفش کردم !)

    برای امتحان :
    بایند هایی که در XAML به DataSource انجام گرفته را حذف کنید و در کد این کار را انجام دهید (یه کدی شبیه همان آدرس که دادم).

      PagedCollectionView dataView = new PagedCollectionView(/* Your Enumerable Data */); 
    dtpPager.Source = dataView;
    dtgGrid.ItemsSource = dataView;


    و در مورد آن لینک هم مشکلی ندارد با IE هم امتحان کنید ولی چیز خاصی ندارد...

    موفق باشید

  12. #12

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام.
    با تشکر از راهنمایی هاتون.
    من این متد را در سرویس نوشته ام.

    public IQueryable<showmanbae_spResult> showmanabeasli(int codedars, string mozue,int karbar_or_modeir)
    {
    return this.ObjectContext.showmanbae_sp(codedars, mozue, karbar_or_modeir).AsQueryable

    }
    با روشی که گفتید من چطور باید این متد را در pagecollectionview فراخوانی کنم.متاسفانه هر روشی را که امتحان کردم قبول نکرد.

  13. #13
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    با سلام

    فقط کافی است نتیجه را به عنوان پارامتر به PagedCollectionView تان بدهید:

                var spResult = yourDomainService.showmanabeasli(codedars, mozue, karbar_or_modeir);
    var dataView = new PagedCollectionView(spResult);
    dtpPager.Source = dataView;
    dtgGrid.ItemsSource = dataView;


    که dtpPager همان کنترلر pager و dtgGrid همان dataGrid تان است

    موفق باشید

  14. #14

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service


    با سلام دوباره
    ممنونم که به سوال های من جواب میدهید.
    سوال:آیا در سیلورلایت
    میشه از
    dllهایی مثل FarsiMsgBoxاستفاده کرد؟من از طریق add referenceخواستم این کار را انجام بدم اما خطا داد
    سوال:من با فراخوانی یک sp که یک ستون را برمیگرداند میخواهم این ستون را
    در
    comboboxنمایش دهم. من یک complex typeبرای این spساختم و این طور متد را فراخوانی کردم:
    bankContext combo = new
    bankContext();

    combo.Load(combo.retlistcourseQuery());

    combodarse.ItemsSource=combo.retlistcourse_spResul ts;


    اما در comboتک تک رکورد ها به این صورت اضافه میشود.مثلا:

    retlistcourse_spResults:ریاضیات مهندسی یعنی retlistcourse_spResultsرا هم کنار فیلد ها اضافه میکند.برای حذف این عبارت من باید چیکار کنم؟

    سوال:

    درسیلورلایت چطور میشه از کنترل errorproviderسی شارپ استفاده کرد؟ من میخواهم در صورت خالی بودن یک textboxعلامت هشدار کنار
    آن ظاهر شود.



  15. #15
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    میشه از dllهایی مثل FarsiMsgBoxاستفاده کرد؟من از طریق add referenceخواستم این کار را انجام بدم اما خطا داد
    نمیشه-و علت خطا اینه که آن dll تحت فریم ورک دات نت نوشته شده نه فریم ورک سیلورلات و این دو هر چند تا حدودی به هم شبیه اند ولی یکی نیستند.

    برای حذف این عبارت من باید چیکار کنم؟
    لطفا کدهاتون را داخل تگ کد ( [CODE] ) بذارید...
    یا باید برای آیتم های کامبو Template تعریف کنید یا خصیصه DisplyMemberPath را به نام خصیصه ای مرتبط در نتیجه Query تون قرار بدید...
    مثلا :
      <ComboBox Width="200" Height="23" x:Name="combobox" DisplayMemberPath="MyProperty" />



    من میخواهم در صورت خالی بودن یک textboxعلامت هشدار کنار
    آن ظاهر شود.

    کلا در برنامه های تحت وب به این Validation گفته می شود.
    نگاهی به این لینک یا این بیندازید و ...

    موفق باشید

  16. #16

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    با روشی که گفتید دوباره امتحان کردم ولی با این خطا ها مواجه شدم.
    Error4
    The best overloaded method match for 'System.Windows.Data.PagedCollectionView.PagedColl ectionView(System.Collections.IEnumerable)'
    has some invalid arguments D:\blend-project\btcknowledge\btcknowledge\page\Page1.xaml. cs
    وخطای دوم
    Error2
    Argument 1: cannot convert from 'System.ServiceModel.DomainServices.Client.EntityQ uery<btcknowledge.Web.showmanbae_spResult>'
    to 'System.Collections.IEnumerable' D:\blend-project\btcknowledge\btcknowledge\page\Page1.xaml. cs
    نوع متد را به ienumerable تغییر دادم ولی همین خطا را داد.

  17. #17
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    خطاهای بسیار ساده و قابل فهمی هستند و اصلا ربطی سیلورلایت هم ندارن!

    اولی گفته سازنده PagedCollectionView یک IEnumerable قبول می کند...
    دومی هم گفته EntityQuery رو نمی تون به Enumerable تبدیل کنه...

    پیشنهاد من اینه که شما اگر به نتیجه ی Query در کلاینت نیازی ندارید آن را به لیست تبدیل کنید و به کلاینت بفرستید

    موفق باشید

  18. #18

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    تگ [code] را کجا باید استفاده کرد؟کد های سی
    شارپ را در این تگ بنویسم.من این تگ را پیدا نکردم.

    سوال:چطور میشه به یک سطر خاص از datagridدسترسی داشت؟خاصیتی مثل position در سی شارپ را اینجانداریم؟

    متدی که در سرویس یک رکورد را بر میگرداند،من میخوام نتیجه ی این رکورد را در متغییری بریزم که به تک تک فیلد های این رکورددسترسی داشته باشم ، متغییر از نوع جدول که این رکورد را دارد تعریف میکنم،تبدیل نوع هم انجام میدم ولی خطا میدهدراه حل چیه؟



  19. #19
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    بر روی دکمه # کلیک کنید خودش تک را به متن اضافه می کند سپس کدتان را بین دو تگ قرار بدین...

    چطور میشه به یک سطر خاص از datagridدسترسی داشت؟خاصیتی مثل position در سی شارپ را اینجانداریم؟
    با استفاده از خصیصه های SelectedItem و ItemsSource و ...

    من میخوام نتیجه ی این رکورد را در متغییری بریزم که به تک تک فیلد های این رکورددسترسی داشته باشم
    یک کلاس تعریف کنید و آن متغییرهای که می خواهید به صورت خصیصه تعریف کنید و سپس نتیجه کوئری را داخل آن کلاس بریزید

    موفق باشید

  20. #20

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    متاسفانه من هنوز موفق به صفحه بندی اطلاعات دریافتی از بانک نشدم،همان طور که گفتید
    نوع متد را به
    Ilist تبدیل کردم و خروجی متد را به عنوان لیست فرستادم اما PagedCollectionViewاین را هم به عنوان ورودی قبول نمی کند و همان دو خطای قبلی
    را میدهد.در MSDNپیدا کردم که با همین روش باید از datapagerو datagridاستفاده کرد ولی خروجی متد را به صورت
    (e.result)به PagedCollectionViewفرستاده بود من چطور میتونم متد را به این صورت اجرا کنم که متغیر PagedCollectionViewآنرا به عنوان پارامتر قبول کند؟

    سوال:

    با خصوصیت selecteditemدر datagridبه فیلد های سطر انتخابی میشه دسترسی داشت ونه هر سطری من میخوام به یک سطر خاص دسترسی داشته باشم ؟راحل
    دوم را امتحان میکنم.ممنون از راهنمایی هاتون.



  21. #21
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    همان طور که گفتید
    نوع متد را به
    Ilist تبدیل کردم و خروجی متد را به عنوان لیست فرستادم اما PagedCollectionViewاین را هم به عنوان ورودی قبول نمی کند و همان دو خطای قبلی
    را میدهد
    شما با کد زیر مشکل دارید؟!
    PagedCollectionView pcv = new PagedCollectionView(new List<string>());


    با خصوصیت selecteditemدر datagridبه فیلد های سطر انتخابی میشه دسترسی داشت ونه هر سطری من میخوام به یک سطر خاص دسترسی داشته باشم ؟
    به کدوم سطر؟(یک مثالی / توضیحی - غیب که نمی دانم!)

    موفق باشید

  22. #22

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service


    سلام
    با استفاده از خاصیت dataview کنترل datasourse هم میشه رکورد ها را صفحه بندی کرد
    PagedCollectionView pcv = new PagedCollectionView(mydomaindatasourse.dataview);

    ----به کدوم سطر؟
    Datagridخاصیتی دارد که بتونیم اندیس سطر و ستون را مشخص کنیم ؟
    یا مثلا در datagridیک رکورد بیشتر وجود ندارد آیا میشه مقدار تک تک
    فیلد های این رکورد را خواند؟

    سوال:با متد select()چطور میشه اطلاعات دریافتی از بانک را فیلتر
    کرد؟نام چند فیلد را چطور به این متد بدهیم؟با یک فیلد درست جواب میده
    Table.select(a=>a.code_karbar).
    سوال:دکمه# کجاست؟که تگ [CODE]را اضافه میکند.



  23. #23
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    ببخشید کمی دیر شد(اینترنتم ترکید!)

    Datagridخاصیتی دارد که بتونیم اندیس سطر و ستون را مشخص کنیم ؟
    خصیصه SelectedIndex

    یا مثلا در datagridیک رکورد بیشتر وجود ندارد آیا میشه مقدار تک تک
    فیلد های این رکورد را خواند؟
    شما گریدتان را به یک منبع بایند کردید وقتی می دانید کدام یک از اعضای آن منبع انتخاب شده (با استفاده از SelectedItem) می توانید هر تغییری در منبع ایجاد کنید که به ظاهر هم انتقال پیدا می کند(پیشنهاد می کنم کمی بر روی بایندینگ ها در سیلور بیشتر مطالعه کنید)

    با متد select()چطور میشه اطلاعات دریافتی از بانک را فیلتر
    کرد؟نام چند فیلد را چطور به این متد بدهیم؟با یک فیلد درست جواب میده
    با کدی شبیه این:
    lst.Select(a => new { A = a.Item1, B = a.Item2, C = a.Item3 });


    سوال:دکمه# کجاست؟که تگ [CODE]را اضافه میکند.
    دقیقا بالای جایی که می خواهید متن پستتان را بنویسید دکمه # وجود دارد

    موفق باشید

  24. #24

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    مشکل:
    پیش میاد وقتی متد جدیدی را به سرویس اضافه میکنم دیگه datasource را نمیشناسد؛ وحتی از پنجره ی datasourceهم حذف میشود و با خطا های زیادی مواجه میشم.
    مثلا من برای update کردن اطلاعات یک جدول با استفده از خصوصیت attachو submitchangeیک رکورد جدید را به متد سرویس فرستادم ولی تغییرات در بانک اعمال نشده بود من یک spبرای این کار نوشتم و آن را در سرویس فراخوانی کردم و درست انجام داد.نوع متد در سرویس را intتعریف کردم ولی متد دیگه ای که یک sp مثل قبلی را اجرا میکرد تعریف کردم با نوع void که مشکلی که گفتم پیش آمد فکر میکنید چون من از خود متد های سرویس استفاده نکردم برای سرویس اینطور شد؟
    تشکر.

  25. #25

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    من متد select را همون طور که گفتید تعریف کردم که دو فیلد از یک جدول را selectمیکند ولی در اجرا خطا می دهد.
    return this.ObjectContext.manabe_tbl.Select(a => new manabe_tbl() { name_manbae = a.name_manbae, tozieh_taeid =.tozieh_taeid }).ToList
    ();
    آیا من باید یک کلاس در برنامه تعریف کنم با نام این دو فیلد که یکیشو به عنوان کلید تعریف کنم؟ اگه اینطور است من باید این کلاس را کجا اضافه کنم؟


  26. #26
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    مثلا من برای update کردن اطلاعات یک جدول با استفده از خصوصیت attachو submitchangeیک رکورد جدید را به متد سرویس فرستادم ولی تغییرات در بانک اعمال نشده بود
    برای ذخیره تغییرات از متد SaveChanges استفاده کنید

    چون من از خود متد های سرویس استفاده نکردم برای سرویس اینطور شد؟
    چطور شد؟
    اگر منظورتان از سرویس مشتقات DomainService است/این کلاس ها را می توانید تغییر دهید ولی اگر به کدهای خودش هم نگاه کنید متوجه کمی قوانین از جمله تعریف metadata ها می شوید

    ولی در اجرا خطا می دهد.
    متن خطا را بگذارید

    نهایتا پیشنهاد می کنم کمی بیش تر در زمینه Ria Services مطالعه کنید یا حداقل پروژه این سمپل را به همراه جزوه توضیحاتش کمی بررسی و مطالعه کنید.(دانلود فایل های walkthrough و HRAppCS_VS2010 کافی است)

    موفق باشید

  27. #27

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    ممنون برای لینکی که گذاشتید
    من هم برای حل مشکلاتم از msdn خیلی استفاده میکنم اما بعضی وقتها راحل هایی رو که داده اجرا میکنم جواب نمیده

    متن خطا: پنجره just-in-time debuggerباز میشود
    an unhandeled exception unhandeled error in silverlight application
    code 4004
    category:managed runtime error
    message:system.servicemode.domainservices.client.d omainopration exeption

  28. #28
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    متن خطا میگه وقتی یکی از متدهای کلاس DomainService تان را در کلاینت فراخوانی می کنید یک خطا رخ می دهد.

    پیشنهاد می کند در زمان اجرا آن متد خاص را با گذاشتن Break point ها خط به خط بررسی کنید(Stake trace رو هم نگاه کنید بدک نیست)

  29. #29

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    من هر کدوم از متدهای سرویس را که فراخوانی میکنم در اجرا همین خطا را میدهد addکردن با متدهای سرویس یا updateو...
    ولی اگر با sp ها کار کنم و کل کار با بانک را با spانجام دهم و در سرویس فراخوانی کنم مشکل ندارم نمی دونم مشکل از چیه؟میتونید راهنمایی کنید؟ممنونم.

  30. #30

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    سوال:بعد از تعریف validation ها در metadata.csبرای اجرای این validationها باید چیکار کرد آیا حتما باید از dataform استفاده کرد؟اگر من از textbox استفاده کنم که خصوصیت text را به این صورت تعریف کنم
    ="{Binding Path=email, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}"

    الان با قرار دادن یک دکمه که عمل submitchangeرا انجام دهد من میتونم این validation ها رو اجرا کنم ؟مقدار این text ها را چطور به متد addبفرستم؟

  31. #31
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    ...ولی اگر با sp ها کار کنم...
    چون دیگر کد را خود VS تولید می کند(و البته بدون خطا)
    (نظر من همان پست 28 است)

    بعد از تعریف validation ها در metadata.csبرای اجرای این validationها باید چیکار کرد آیا حتما باید از dataform استفاده کرد؟
    نوع برنامه تون چیه؟ (در حال حاضر اگر یک Business App باشد نیازی به DataForm نیست در غیر اینصورت بله)

    الان با قرار دادن یک دکمه که عمل submitchangeرا انجام دهد من میتونم این validation ها رو اجرا کنم ...
    پروپرتی ها به تکست باکس بایند شده؟ ->یله / البته بدون کلیک و با برداشته شدن فوکوس هم عمل Validation می بایست عمل کند.
    مقدارشان را از منبعی که به آن بایند شده بگیرید(سمپلی که گفتم را انشاا... نگاه کردید)

    موفق باشید

  32. #32

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    پروژه من از نوع navigation appاست تقریبا مشکلم با validation حل شد.
    سوال:شما فکر میکنید استفاده از spبرای کار با بانک بهتر است یا با خود EF؟بهتر نیست کار با داده ها را به sql بسپاریم؟
    سوال:wcfبا wcf ria serviceچه فرقی دارد آِیا مزیتی نسبت به هم دارند؟

  33. #33
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    به شخصه دوست ندارم قدرت و دینامیک بودن EF را با SP ها و View ها محدود کنم
    EF چیز ساده ای نیست در حالی که ما به خاطر سادگی کارمون ازش استفاده می کنیم! (کوچکترین کتب موجود که در زمینه EF دیدم حداقل 500 صفحه داشته اند)

    شما می توانید امکانات جدید اضافه شده در اینجا مشاهده کنید

    البته استفاده از SP ها هم مخصوصا در دیتابیس ها بزرگ تاثیر بسزایی بر روی سرعت برنامه داره...
    (البته اینها نظرات من بود)

    wcfبا wcf ria serviceچه فرقی دارد آِیا مزیتی نسبت به هم دارند؟
    وجه مشترکشان WCF است!
    و WCF RIA Services (همونطور که اسمش پیداست) خدمات بیشتری را برای استفاده در Rich Internet Applications را به WCF اضافه می کند(از جمله ایجاد کلاس های Domain Service با چند کلیک).

    موفق باشید

  34. #34

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    من با کد های زیر نمی تونم رکوردها را ویرایش کنم خطا نمیده ولی تغییرات در بانک اعمال نمی شود؟

    private


    void updatekarbar_click(object sender, RoutedEventArgs e)


    {




    karbar_tbl newk=newkarbar_tbl();


    newk.code_karbar = code_karbar;


    newk.name_karbar=name_karbaryp.Text;


    newk.password=passwordp.Password;


    newk.name=name_kp.Text;


    newk.familly=famillyp.Text;


    newk.email=emailp.Text;




    bankContext update = newbankContext();


    update.karbar_tbls.Attach(newk);


    update.SubmitChanges(SubmitOperation_Callback,

    null);
    }


    public


    void UpdateKarbar_tbl(karbar_tbl currentkarbar_tbl)


    {




    this.ObjectContext.karbar_tbl.AttachAsModified(current karbar_tbl, this.ChangeSet.GetOriginal(currentkarbar_tbl));




    this.ObjectContext.SaveChanges();


    }

  35. #35
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    واقعیتش من چندان متوجه کدهاتون نشدم ولی خودم با توجه به برداشتی که از نیازتون دارم کمی توضیح میدم:

    شما در یک صفحه با نام EmployeeList یک لیستی از تمام Employee هاتون را به وسیله DomainDataSource تون می گیرید و نمایش می دهید.
    یکی از Employee ها را انتخاب می کنید و بر روی دکمه Update کلیک می کنید و این Employee را به یک پنجره دیگه(یا یک ChildWindow) می فرستید و آنجا آن را ویرایش می کنید و بر می گیردید به پنجره لیست ها و سپس لیستتان را آپدیت می کنید.

    نمونه کد این می شود کلاس EmployeeList و EmployeeRegistrationWindow در پروژه مثالی که در چند پست قبل بهتون معرفی کردم(حتما یک نگاهی بندازید)

  36. #36

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    برداشتتون درسته،من همین کار رو میخوام انجام بدم.
    من مثالی رو که گفتید قبلا دیدم اونجا با قراردادن این کد در دکمه submit
    ()employeeDataSource.submitchanges آپدیت اطلاعات را انجام داده با این روش میشه آپدیت رو انجام داد اما مشکلی که من دارم اگر کاربر بدون توجه به پیام های validationدکمه submit را بزنند در اجرا خطا پیش میاد و پنجرهvisual studio just-in-timedibugerباز میشود
    ومن نمیتونم این خطا رو خودم در کد (مثلا با try,catch )مدیریت کنم روشی که کدشو قبلا گذاشتم با فراخوانی یک متد خطا های ناشی از.submitchanges را handelمیکرد،که متاسفانه جواب نمیده.حالا با این روش که در پروژه مثال گفته چطور میشه خطا را با یک پیام به کاربر نشان داد؟ مثلا اگر کاربر یک فیلد را خالی گذاشت و به پیام خطاهای validation توجه نکرد و دکمه submitرا زد یه پیام خطا نمایش بدیم و نزاریم پنجره visual studio just-in ...باز شود؟

  37. #37
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام

    مشکلی که من دارم اگر کاربر بدون توجه به پیام های validationدکمه submit را بزنند در اجرا خطا پیش میاد و پنجرهvisual studio just-in-timedibugerباز میشود
    ساده ترین راه حل چک کردن کنترلرها از داشتن خطا قبل از submit کردن دیتا هست.برای انجام اینکار کافی است کنترلری(مثلا یک تکست باکس) که می خواهید خطایش را چک کنید به عنوان پارامتر به متد Validation.GetHasError ارسال کنید اگر true بود یعنی خطا داره و شما نباید submit کنید و در غیر اینصورت ...

    شما در مواقعی که می خواهید تعداد زیادی کنترلر را چک کنید می توانید داخل فرزندان پنل اصلی گردش کنید و با توجه به نوع کنترلرهایی که می خواهید/ آن ها را نتخاب و چک کنید...

    *راه حل زیبا تر و الگومند تر پیاده سازی رابط IDataErrorInfo و امثالش! هست. نمونه =>
    {
    http://johnpapa.net/silverlight/enab...dataerrorinfo/

    -
    http://jesseliberty.com/2010/07/25/d...nd-templating/
    }

    موفق باشید

  38. #38

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    در کلاس هایی که برای custom validationتعریف میکنیم میشه به متد هایی که در سرویس تعریف شده اند دسترسی داشت؟ مثلا دسترسی به اطلاعات یک جدول؟این کلاس ها را از طریق add->new item->codefileایجاد کرده ام فضای نام ها را هم اضافه کردم ولی متد های سرویس را نشناخت.

  39. #39
    کاربر دائمی آواتار mahdi7s
    تاریخ عضویت
    دی 1387
    محل زندگی
    هر جایی می تونه باشه
    پست
    141

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    در کلاس هایی که برای custom validationتعریف میکنیم
    منظورتان کلاس هایی است که با صفت Metadata مزین شده اند؟ این کلاس ها برای چسباندن برخی از رفتارها و صفت ها به entity تولید شده استفاده می شوند تا اگر دوباره entity تان را تولید یا آپدیت کردید این Metadata ها پاک نشوند.

    ولی متد های سرویس را نشناخت
    چون این کلاس ها با Entity تولید شده کار می کنند نه سرویس.

    شما کدهایی که می خواهید در سرور اجرا شوند را فقط می توانید در مشتقات سرویستان پیاده کنید.

  40. #40

    نقل قول: سوال:نحوه فراخوانی storeprocedure در wcf ria service

    سلام
    منظورتون را کامل متوجه نشدم.من می خواهم مقدار فیلد نام کاربری که از کاربر دریافت می کنم را در جدول چک کنم که این مقدار تکراری نباشد می خواهم این کار را با validationها انجام دهم؟باید در سرویس کلاسی برای انجام این کار تعریف کنم یا یک کلاس جدید در پروژه addکنم ؟

صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •