نظرات مطالب
Soft Delete در Entity Framework 6
من از کتابخانه EntityFramework.Filters استفاده کردم به صورت زیر در رویداد OnModelCreating
modelBuilder.Entity<BaseEntity>().Filter("IsDeleted", condition => condition.Condition(row => row.IsDeleted == false));
DbInterception.Add(new FilterInterceptor());
همچنین از InitOfWork که در سایت معرفی کرده‌اید، استفاده کردم. این رو به چه صورت می‌توانم استفاده کنم؟
در لایه سرویس نمونه‌ای از جدول Category را به صورت زیر ایجاد میکنم و نحوه استفاده هم به صورت زیر می‌باشد
private readonly IDbSet<Category> _categories
_categories = _uow.Set<Category>();
_categories.ToList();
حال در این روش، کل تعداد لیست را بر می‌گرداند. اما از روش زیر که استفاده می‌کنم، فیلتر اعمال می‌شود.
var context = new DataLayer.MyContext();
context.EnableFilter("IsDeleted");
var categoiresModel = context.Set<Category>().ToList();
در کل استفاده از این روش فیلتر، در UnitOfWork به چه صورت می‌باشد؟
نظرات مطالب
شروع به کار با AngularJS 2.0 و TypeScript - قسمت دوازدهم - توزیع برنامه
- در مورد تنظیمات سمت سرور AngularJS 2.0 در ASP.NET Core 1.0، در قسمت «معرفی بسته‌ی نیوگت Microsoft.AspNetCore.SpaServices» بحث شده‌است.
- اما ... Gulp جاوا اسکریپتی اساسا وابستگی خاصی به فناوری‌های سمت سرور ندارد. در اینجا فقط نحوه‌ی مسیردهی این پوشه‌ها مهم هستند (و Task runner آن فقط به این مسایل دقت می‌کند):
var appFolder = "./app";
var outFolder = "wwwroot";
در اینجا app/. به این معنا است که محل واقع شدن فایل تنظیمات gulp و همچنین فایل systemjs.config.js، یک سطح بالاتر هستند از پوشه‌ی app (جایی که قرار است فایل‌های اصلی از آن دریافت شوند) و همچنین پوشه‌ی wwwroot ذکر شده (جایی که قرار است فایل‌های نهایی کپی شوند):
gulpfile.js
systemjs.config.js
--app
--wwwroot
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 2 - بررسی ساختار جدید Solution
این مورد را در قسمت اول ذیل «اما هنوز تعداد زیادی از کتابخانه‌های Full framework به NET Core. انتقال پیدا نکرده‌اند »، توضیح دادم.

شما در ASP.NET Core امکان کار با هر دو فریم ورک یاد شده را دارید و این دو به هم وابستگی ندارند. به عبارتی چندین target را دراینجا می‌توانید معرفی و استفاده کنید. اگر دات نت 4.6 را هم استفاده کردید، برنامه فقط قابلیت چندسکویی خودش را از دست خواهد داد. برای مثال شما هم اکنون می‌توانید EF 6.x را با ASP.NET Core 1.0 استفاده کنید (اگر نمی‌خواهید تا زمان تکمیل نهایی EF Core صبر کنید). فقط در این حالت باید دقت داشته باشید که کدهای شما بر روی لینوکس اجرا نخواهند شد (چون EF 6.x مبتنی بر دات نت 4x است).
نظرات مطالب
برنامه نویسی اندروید با Xamarin.Android - قسمت اول
سلام،
ممنون از توضیحاتتون،
چند تا سوال؟
1- حجم برنامه‌های زامارین در مقایسه با جاوا بسیار بیشتره درسته؟
2- آزار دهنده‌ترین محدودیت زامارین چیه؟ چه چالشهایی پیش رو داریم؟
3- چرا برنامه‌های حرفه ای کمی با زامارین داریم؟ ترجیحا چند مورد حرفه ایش رو معرفی کنید.
4- با فرض تسلط بر زبان سی شارپ، آیا به راحتی میشه سولوشنهامون رو منتقل کنیم به پتلفرم اندروید؟ در واقع چقدر زمان میبره یک برنامه نویس سی شارپ بتونه برنامه نویسی پلتفرم اندروید با زامارین رو به مرحله عملیاتی برسونه.
متشکرم.
نظرات مطالب
توسعه سیستم مدیریت محتوای DNTCms - قسمت اول
ضمن عرض  خسته نباشید به کلیه عزیزان ، از آنجا که قرار نیست هر ماژول محتویات خودش از جمله منوها و... را به سیستم تحمیل نماید (مثلا به محض ثبت شدن منوهایش به صفحه اصلی افزوده شود) نیاز به جدوالی برای ثبت و مدیریت آنها می‌باشد ،امکاناتی نظیر تغییر قالب به صورت پویا نیز می‌تواند چالش دیگری باشد ، هر قالب دارای section هایی خواهد بود که توسط متدی به سامانه معرفی می‌گردند . و هر ماژول می‌تواند دارای اکشن متدهایی باشد که پارشال ویویی را رندر می‌نماید که می‌توان از قسمت مدیریت آن را در یکی از سکشنهایی که قالب فعال ارائه می‌نماید و در آدرس خاصی به نمایش گذارد. همه اینها نیازمند جداولی در بانک اطلاعاتی و بالطبع نیاز به بررسی شدن در همین مرحله اولیه را دارند . 

 
نظرات مطالب
کار با اسکنر در برنامه های تحت وب (قسمت دوم و آخر)
این خطا رو که جستجو کنید راه حل‌های متنوعی برای اون گفته شده که در پروژه بنده همین روشی که اینجا معرفی کردم کار می‌کرد و متاسفانه با روش‌های دیگه به جواب نمی‌رسیدم! (^ )
شاید اگر شما از اون روش‌ها استفاده کنید جواب بگیرید.
یک راه اینکه کد‌های زیر رو به Web.Config پروژه WEB API خودتون اضافه کنید:
<httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
      </customHeaders>
</httpProtocol>


 
نظرات مطالب
Accord.NET #3
- در مورد کرنل همانطور که در مطلب قبل هم صحبت شد، می‌توان گفت که Kernel عملا نگاشتی را بین خط تفکیک کننده نمونه‌های کلاس‌ها با ابرصفحه جداکننده برقرار می‌کند و با این شرایط می‌توان SVM را به نوعی غیر خطی در نظر گرفت. مثلا در تصویر زیر با پارامتر $ \Phi $ ، فضای اولیه داده‌های ما را به فضای ویژگی هایی نگاشت می‌شود که می‌توان با همان SVM خطی دسته بندی کرد (+ )

- اگر منظورتان از الگوریتم یادگیری روش Sequential Minimal Optimization است می‌توان گفت SMO یکی از روش‌های متداول و سریع برای آموزش SVM به حساب می‌آید که عملا یک مسئله بهینه سازی است که به دنبال بهترین ضرایب همان کرنل است (+)

- درباره پیشنهادتون در خصوص استفاده از فضای نام Accord.Imaging هم ضمن تشکر، می‌توان گفت که فعلا قصد ورود به فضای نام ی از آکورد دات نت به جز Accord.MachineLearning نداریم ولی در آینده حتما معرفی و استفاده خواهند شد.
نظرات مطالب
یک دست سازی ی و ک در برنامه‌های Entity framework 6
- این کلاس‌ها صرفا یک سری کلاس کمکی هستند که هیچ وابستگی به قسمت خاصی از برنامه ندارند و برعکس. به همین جهت یک اسمبلی Common ایجاد کرده و آن‌ها را در این اسمبلی مشترک که یک سری utility عمومی در آن تعریف خواهید کرد، قرار دهید.
+ در انتهای مطلب ذکر شد: «... در آغاز برنامه، سطر زیر را فراخوانی کنید ...». آغاز برنامه‌های وب، در متد Application_Start است و در برنامه‌های دسکتاپ، متد Main یا شبیه به آن.
+ Interceptorها به صورت یک لایه‌ی نامرئی توسط EF اعمال می‌شوند. بنابراین قرار نیست توسط شما مستقیما جایی فراخوانی شود. یکبار که در آغاز برنامه تعریف و به EF معرفی شدند، کافی است.
نظرات مطالب
چگونه کد قابل تست بنویسیم - قسمت اول
سلام
و عرض پوزش از وقفه در پاسخ

در این مقاله سعی بر این است که نحوه نوشتن یک کد خوب و قابل تست ارائه شود و در مورد معماری نرم افزار و انواع لایه بندی سطوح نرم افزار بحث نمی‌کند. در واقع آنچه بیان شده برای درک بهتر چرایی نوشتن تست و نحوه آن است.

اما در خصوص لایه بندی نرم افزار تئوری‌های مختلفی وجود دارد و انواع معماری‌های 3 لایه ، 4 لایه ( که شما هم اینجا اشاره داشتین) و Domain Drriven Design معرفی شده اند. اما به نظر من DDD بدلیل بروزتر بودن و اینکه قابلیت ترکیب با ابزارها و معماریهای دیگر مانند Enterprise Service Bus , CQRS, ... را دارد معماری بهتری به حساب می‌آید.
نظرات مطالب
استفاده از خواص راهبری در Entity framework بجای Join نویسی
منم دقیقا همین کارو کردم اما به این خطا برخورد کردم. پس از رفع خطا با روش معرفی شده، این دفعه با این خطا مواجه میشم:
 The entity or complex type 'PWS.DataLayer.Context.Tag' cannot be constructed in a LINQ to Entities query.
کوئری منم اینه
return tags.Cacheable(x => x.Select(item => new Tag
            {
                Id = item.Id,
                ArticlesCount = item.Articles.Count(),
                Name = item.Name,
                CreatedBy = item.CreatedBy,
                CreatedOn = item.CreatedOn,
                ModifiedBy = item.ModifiedBy,
                ModifiedOn = item.ModifiedOn
            })).ToList();
که در اون خصیصه ArticlesCount با NotMapped مزین شده و قراره تعداد مقالات اون تگ توش قرار بگیره