با سلام
از نظر قدرت مانور در گزارش گزارش ساز devexpress از سایر ابزارها مثل ssrs , telerik , crystall فوق العاده قوی تره و امکان نمایش دادهها به صورت پدر و فرزندی رو تا n لایه ارائه میده چیزی ، امکان تغذیه گزارش با داده هایی که خود شما میخواید مثل یک iqueryable یا list یا datatable و میتونه کانکشن نداشته باشه و در هر سطحی از گزارش شما امکانات کامل کد نویسی رو برای هر رویدادی در گزارش دارید که فوق العاده است و یک گزارش هم در وب و هم در ویندوز قابل استفاده مجدده ولی مشکلی که هست و باعث شد بنده فعلا با ssrs کار کنم اینه که در وب چیدمان گزارش به هم میخوره که در مثالهای شرکت سازنده چنین چیزی دیده نمیشه - رتبه دوم متعلق به ssrs هست که ابزاری پر قدرت با قابلیت برنامه نویسی توکار vb.net و درج هر گونه کتابخانه خارجی در صورت نیاز است ، تا اونجایی که بنده اطلاع دارم telerik یکی از ضعبفترین نوع گزارشات رو در بین بقیه شرکتها ارائه میده
در بسیاری اوقات ممکن است تیم تحلیل دیتابیس، از توسعه اپلیکیشن جدا شده باشد تا مراحل نرمال سازی و تست بهره وری اجرای کوئریها، بهصورت جداگانهای از توسعهی برنامه انجام شود؛ یا ممکن است دیتابیس یک برنامهی از پیش موجود، برای نگهداری و مهندسی مجدد به شما سپرده شود. سناریو هر چه باشد، جهت سرعت بخشیدن به توسعهی نرم افزار میتوان از Entity Framework Core جهت ایجاد فایلهای Model از روی دیتابیس موجود استفاده کرد.
در این مثال ، از دیتابیس SQL Server و یک برنامهی کنسول و همچنین از ابزار NET Core CLI. استفاده خواهیم کرد.
با استفاده از ابزار CLI ابتدا یک فولدر خالی به نام EfCoreDbToModel ایجاد میکنیم:
> mkdir EfCoreDbToModel
> cd EfCoreDbToModel
> dotnet new console
> dotnet add package Microsoft.EntityFrameworkCore.SqlServer
> dotnet add package Microsoft.EntityFrameworkCore.Tools
> dotnet add package Microsoft.EntityFrameworkCore.SqlServer.Design
در ادامه فایل csproj. را باز کرده و در صورتیکه خط زیر در آن موجود نیست، آن را به گره ItemGroup اضافه کنید:
< DotNetCliToolReference Include= " Microsoft.EntityFrameworkCore.Tools.DotNet " Version= " 2.0.0 " />
> dotnet restore
اکنون با اجرای دستوری مثل دستور زیر، بررسی کنید که آیا دستورات Ef Core در دسترس هستند یا خیر:
> dotnet ef -h
برای تولید فایلهای Model، از دستور dbContext scaffold بصورت زیر استفاده میکنیم:
>dotnet ef dbcontext scaffold "Server=.;Database=Your_DB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o Model
1- Connection String
2- Provider که Entity Framework Core Provider مخصوص دیتابیس مدنظر شماست.
لیستی از دیتابیسهای مورد پشتیبانی EF Core را میتوانید در اینجا مشاهده کنید.
پس از اجرای دستور فوق، فولدر Model، شامل فایلهای Entity و همچنین یک فایل دیگر که معرف DbContext است، ایجاد خواهند شد:
گزینهی o- دایرکتوری ایجاد فایلهای مدل و DbContext را مشخص میکند. در صورتیکه از وارد کردن آن صرف نظر کنید، این فایلها بصورت پیش فرض در مسیری قرار خواهند گرفت که فایل csproj. وجود دارد.
همانطور که ملاحظه میکنید نام کلاس DbContext از ترکیب نام دیتابیس بعلاوهی کلمه “Context” خواهد بود. جهت تغییر نام این کلاس میتوانید از گزینهی "context "Your_Context_Title- استفاده نمائید. برای مثال:
> dotnet ef dbcontext scaffold "Server=.\;Database=Your_Db_name;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o Model -context "MyDbContext"
جهت کسب اطلاعات بیشتر رجوع کنید به ^ و ^.