کتابخانه EpPlus یکی از مشهورترین کتابانههای رایگان دات نت در زمینه فایلهای اکسل هست که در این کتاب به نحوه استفاده از آن و انواع امکانات آن پرداخته شده است.
این کتابخانه شامل دو ابزار جهت ورود فرمولهای ریاضی و فرمولهای شیمی میباشد. همچنین میتوانید به جای انتخاب ابزارها و کلیک رو نمادها فرمول رو با ماوس یا هر ابزار دیگر رسم کرده و کار تبدیل به فرمول توسط ابزار انجام میشود.
جهت استفاده رایگان در سمت وب میتوانید از پلاگینهای ادیتورهایی مانند ckeditor استفاده کنید که به همراه تغییر زبان این ویراستار، زبان ابزار هم به همان زبان تغییر میابد و شامل زبان فارسی هم میشود.
جهت استفاده راحتتر از این پلاگین بر روی ویراستار ckeditor میتوانید از طریق سایت ckeditor به صورت custom پلاگین مورد نظر را جست و جو و به بسته نهایی اضافه کنید.
// Initalization var _instance = new LgTvApi(ip,new LgTvApiCore(), new ClientKeyStore(ip)); await _instance.Connect(); await _instance.MakeHandShake(); await _instance.GetMouse(); //control await _instance.VolumeDown(); await _instance.TurnOff(); ...... (await _instance.GetMouse()).SendButton(ButtonType.RED); (await _instance.GetMouse()).SendButton(ButtonType.LEFT);
در صورتی که نیاز دارید برای برنامه خود یک شمارنده که توسط کاربر تنظیم میشود قرار دهید این پلاگین جی کوئری مورد بسیار مناسبی است. تمامی پراپرتیها و رویدادهایی که کاربردی و مورد نیاز هستند در این کتابخانه گنجانده شده اند.
<script> $(document).ready(function(){ $("#number-picker").dpNumberPicker({ min: false, // Minimum value. max: false, // Maximum value. value: 0, // Initial value step: 1, // Incremental/decremental step on up/down change. format: false, editable: true, addText: "+", subText: "-", formatter: function(val){return val;}, beforeIncrease: function(){}, afterIncrease: function(){}, beforeDecrease: function(){}, afterDecrease: function(){}, beforeChange: function(){}, afterChange: function(){}, onMin: function(){}, onMax: function(){} }); </script>
این ابزار در نسخه رایگان شامل قابلیتهای batch، کش، بهینه سازی و ... میباشد.
EF Include
var orders = ctx.Orders .Where(x => x.OrderId == myOrderID) // 1 orders, 20 columns .Include(x => x.Items) // 20 items, 10 columns .Include(x => x.DeliveredItems) // 10 items, 10 columns .ToList(); // return 20 + 10 = 30 rows // return 20 + 10 + 10 = 40 columns // total: 30 rows * 40 columns = 1200 cells transferred
EF+ IncludeOptimized
// SELECT * FROM Order WHERE.... // SELECT * FROM OrderItem WHERE EXISTS (/* previous query */) AND ... // SELECT * FROM DeliveryItems WHERE EXISTS (/* previous query */) AND ... var orders = ctx.Orders .Where(x => x.OrderId == myOrderID) // 1 orders, 20 columns .IncludeOptimized(x => x.Items) // 20 items, 10 columns .IncludeOptimized(x => x.DeliveredItems) // 10 items, 10 columns .ToList(); // return 1 row * 20 columns = 20 cells // return 20 rows * 10 columns = 200 cells // return 10 rows * 10 columns = 100 cells // total: 20 + 200 + 100 = 320 cells transferred