EF Code First #8
Soft Delete در Entity Framework 6
با سلام و تشکر
کسانی که از روش DB First استفاده میکنند میتوانند در پنجره Mapping Details از گزینه "Add a Condition" برای پیاده سازی این گونه شرطها استفاده کنند.
نه اینکه صرفا از دستورات sql بصورت command استفاده شود.
مانند استفاده از پروسیجرها با چند ورودی و multiResult بودن آن در linq
ویژگی های پیشرفته ی AutoMapper - قسمت دوم
برای برسی بیشتر لطفا کد قسمت کانفیگ Mapping و همچنین کلاسهاتون رو بنویسید.
معماری لایه بندی نرم افزار #3
ممنون از زحمات شما.
چند سؤال و نظر:
- با تعریف الگوی مخزن به چه مزیتی دست پیدا کردید؟ برای مثال آیا هدف این است که کدهای پیاده سازی آن، با توجه به وجود اینترفیس تعریف شده، شاید روزی با مثلا NHibernate تعویض شود؟ در عمل متاسفانه حتی پیاده سازی LINQ اینها هم متفاوت است و من تابحال در عمل ندیدم که ORM یک پروژه بزرگ رو عوض کنند. یعنی تا آخر و تا روزی که پروژه زنده است با همان انتخاب اول سر میکنند. یعنی شاید بهتر باشه قسمت مخزن و همچنین سرویس یکی بشن.
- چرا لایه سرویس تعریف شده از یک یا چند اینترفیس مشتق نمیشود؟ اینطوری تهیه تست برای اون سادهتر میشه. همچنین پیاده سازیها هم وابسته به یک کلاس خاص نمیشن چون از اینترفیس دارن استفاده میکنند.
- این اشیاء Request و Response هم در عمل به نظر نوعی ViewModel هستند. درسته؟ اگر اینطوره بهتر یک مفهوم کلی دنبال بشه تا سردرگمیها رو کمتر کنه.
یک سری نکته جانبی هم هست که میتونه برای تکمیل بحث جالب باشه:
- مثلا الگوی Context per request بجای نوشتن new ShopDataContext بهتر استفاده بشه تا برنامه در طی یک درخواست در یک تراکنش و اتصال کار کنه.
- در مورد try/catch و استفاده از اون بحث زیاد هست. خیلیها توصیه میکنن که یا اصلا استفاده نکنید یا استفاده از اونها رو به بالاترین لایه برنامه موکول کنید تا این وسط کرش یک قسمت و بروز استثناء در اون، از ادامه انتشار صدمه به قسمتهای بعدی جلوگیری کنه.
با سلام و تشکر از پست خوبتون
در زمانی که ما از سیستمهای ورود و ثبت کاربران شرکتهای دیگر استفاده میکنیم آیا میتوانیم لاگ گرفته یا اینکه برای خودمان یک صفحه داشته باشیم تا ورود و خروجهای اکانتهای درون وبسایتمان را بررسی کنیم یا اینکه خودمان باید این بخش را کدنویسی کنیم؟
یک سئوال دیگر این است که زمانی که از openid های شرکتهای دیگه استفاده میکنیم فقط احراز هویت را از این سرویسها دریافت میکنیم یا اینکه در همه صفحات و دیگر کارهای کاربر نظارت به صورت خودکار انجام میشود یا اینکه باز هم باید کدنویسی کنیم؟