‫۱۲ سال و ۱ ماه قبل، دوشنبه ۲۷ شهریور ۱۳۹۱، ساعت ۰۴:۳۰
"برای این موارد متداول از تاریخ تا تاریخ، از همان SQL معمولی استفاده کنید "
منظورتون اینه که تو جستجوهای پیشرفته باید از روش معمول و like(یعنی بدون استفاده از full text search و lucene)استفاده بشه؟
‫۱۲ سال و ۱ ماه قبل، دوشنبه ۲۷ شهریور ۱۳۹۱، ساعت ۰۳:۱۱
-منظورتون از "روش‌های متداول SQLایی بهینه‌ترین روش‌ها هستند" چیه؟

-پس در جستجو‌های پیشرفته باید از روش معمول(like بدون استفاده از full text search) استفاده کرد و در جستجوهای تک کلمه ای مثل همین سایت باید از lucene(یا full text search) استفاده کرد،درسته؟
‫۱۲ سال و ۱ ماه قبل، دوشنبه ۲۷ شهریور ۱۳۹۱، ساعت ۰۲:۲۸
سلام آقای نصیری،
دو تا سوال داشتم ازتون:
1- از این توابع مثلاً باید موقع درج مقاله(پست یا ..) در بانک اطلاعاتی برای ایندکس جدید استفاده کرد و موقع ویرایش و حذف مقاله(پست یا ..) هم از توابع معرفی شده متناسب استفاده کرد؟

2- جستجوی پیشرفته به چه صورت هستش؟مثلاً تاریخ درج مقاله از ... تا ... ،نام نویسنده ،کلمه کلیدی و ... (که هر کدام از این موارد میتونه به صورت اختیاری و یا اجباری باشه).
‫۱۲ سال و ۱ ماه قبل، جمعه ۱۷ شهریور ۱۳۹۱، ساعت ۰۲:۳۶
ظاهراً تو VB باید Overrides هم اضافه بشه.
‫۱۲ سال و ۱ ماه قبل، جمعه ۱۷ شهریور ۱۳۹۱، ساعت ۰۲:۲۳
به خدا گیج شدم،این هشدار‌ها رو برای من میده:
Warning  1  function 'SaveChanges' shadows an overridable method in the base class 'DbContext'. To override the base method, this method must be declared 'Overrides'. 

در صورتیکه شما گفتید "اگر این متد، return base.SaveChanges را بر می‌گرداند نیازی به ذکر override نیست"!

Warning 2  Function 'SaveChanges' doesn't return a value on all code paths. Are you missing a 'Return' statement?
 
اینم پیاده سازی متد SaveChanges اینترفیس IUnitOfWork من هستش:

        Public Function SaveChanges() As Integer Implements IUnitOfWork.SaveChanges
            Try
                ApplyCorrectYeKe()
                'auditFields()
                Return MyBase.SaveChanges()
            Catch validationException As DbEntityValidationException
                '...
            Catch concurrencyException As DbUpdateConcurrencyException
                '...
            Catch updateException As DbUpdateException
                '...
            End Try
        End Function

به نظر شما مشکل چیه؟
‫۱۲ سال و ۱ ماه قبل، جمعه ۱۷ شهریور ۱۳۹۱، ساعت ۰۲:۰۹
بازم ببخشید آقای نصیری،
در اینصورت به پیاده سازی متد SaveChanges اینترفیس IUnitOfWork باید Overrides هم اضافه بشه که کامپایلر بدونه متد SaveChanges اینترفیس IUnitOfWork متد SaveChanges کلاس DbContext رو تحریف کرده،درسته؟
‫۱۲ سال و ۱ ماه قبل، جمعه ۱۷ شهریور ۱۳۹۱، ساعت ۰۱:۵۵
نمیدونم چطور خوبیتونو جبران کنم ...
فقط میتونم بگم ممنونم ...
‫۱۲ سال و ۱ ماه قبل، جمعه ۱۷ شهریور ۱۳۹۱، ساعت ۰۱:۳۱
ببخشید آقای نصیری من این کدا رو دیدم،یه سوالم پیش اومد،اینکه همونطور که اینجا عنوان شد ما باید پیاده سازی اینترفیس IUnitOfWork رو تو کلاس MyDbContextBase انجام بدیم،حالا پیاده سازی متد SaveChanges اینترفیس IUnitOfWork تو اونجا باید به صورت زیر باشه؟

try
{
applyCorrectYeKe();
auditFields();
//and another methods ...
Return base.SaveChanges(); } catch (DbEntityValidationException validationException) { //... } catch (DbUpdateConcurrencyException concurrencyException) { //... } catch (DbUpdateException updateException) { //... }
‫۱۲ سال و ۱ ماه قبل، جمعه ۱۷ شهریور ۱۳۹۱، ساعت ۰۱:۱۴
آخه برای بنده ارور میده که این متد حتماً باید پیاده سازی بشه!
منظور شما این نیست که باید تو پیاده سازی متد save changes اینترفیس IUnitOfWork فقط کد زیر رو بنویسیم؟
 Return Base.SaveChanges();
‫۱۲ سال و ۱ ماه قبل، جمعه ۱۷ شهریور ۱۳۹۱، ساعت ۰۰:۴۸
سلام آقای نصیری،
شما تو این مقاله گفتید که:
"همچنین نیازی به پیاده سازی متد SaveChanges نیست؛ زیرا پیاده سازی آن در کلاس DbContext قرار دارد."
ولی این متد رو تو اینترفیس IUnitOfWork ذکر کردید،اینجوری که اگه پیاده سازیه این متد رو انجام ندیم ارور میده!

بالاخره این متد باید توی اینترفیس IUnitOfWork ذکر بشه و توی Context هم پیاده سازی بشه
 یا
توی اینترفیس IUnitOfWork ذکر نشه که در اینصورت نیاز باشه توی Context هم پیاده سازی بشه؟