به مناسبت ارائهی نسخه 7.4 از Microsoft.AspNetCore.OData که دیروز صورت پذیرفت، تصمیم گرفتم آموزش استفاده از OData را در پروژههای ASP.NET Core 3.1 به بالا که دارای endpoint routing هستند (روش توصیه شده)، تهیه کنم تا در آن، پروژه کمترین تغییر ممکن را برای اضافه شدن OData داشته باشد و ببینیم که استفاده از آن در نسخههای جدید، به چه میزان آسان شده است. ابتدا با dotnet --version و یا dotnet --info و یا هر روش دیگری، از نصب بودن dot ne ...
فرض کنید در سرویسهای خود، در حال استفاده از OData هستید. حال کافیست که metadata$ مربوط به سرویستان را برای استفادهی کلاینتهای دیگر، در اختیار آنها قرار دهید. وقتی از Odata استفاده میکنید، به صورت خودکار metadataی از سرویسها و مدلهای شما ساخته میشود و میتوان از آن به عنوان یک documentation کامل نام برد و حتی افرادی که استانداردهای Odata را نمیشناسند، به راحتی میتوانند آن را مطالعه و در صورت اجازهی شما، از امکانات آن سرویسها، در نرم ...
استفاده از OData تنها به عملیات CRUD معطوف نمیشود و در عمل شما این قابلیت را دارید که متدهای سفارشی و کاملا مجزایی را از همدیگر در سرویسهای خود داشته باشید. هرچند در بعضی از سناریوها نیازی به استفادهی بیشتر از CRUD مربوط به آن entity وجود ندارد، اما در اکثر موارد نیاز به رفتاری دارید که به راحتی با استفاده از CRUD معمولی قابلیت پیاده سازی را ندارد. در اینگونه موارد Actionها و Functionها هستند که به راحتی با استفاده از آنها، قابلیت طر ...
در قسمت قبل با OData به صورت مختصر آشنا شدیم. در این قسمت به امکانات توکار OData و جزئیات query options پرداخته و همچنین قابلیتهای امنیتی این پروتکل را بررسی مینماییم. در قسمت قبلی، config مربوط به OData و همچنین Controller و Crud مربوط به آن entity پیاده سازی شد. در این قسمت ابتدا سه موجودیت را به نامهای Product ، Category و همچنین Supplier، به صورت زیر تعریف مینماییم: به این صورت مدلهای خود را تعریف کرده و طبق مقالهی قبل ...
همانطور که اطلاع دارید یکسری از کتابخانههای کمکی و ثالث ASP.NET Core همچون OData و SignalR ، Thinktecture IdentityServer هنوز در حال تکمیل هستند و از آنجایی که هر روزه محبوبیت ASP.NET Core در بین برنامه نویسان در حال افزایش است و خیلی از پروژههای نرم افزاری که امروزه start میخورند، از این فریم ورک جدید استفاده میکنند، پس خیلی به اهمیت این مقوله افزوده میشود که بتوان از تکنولوژیهای فوق در پروژههای جدید نیز استفاده کرد و یکی از معقول ...
OData یکی از بهترین روشهای پیاده سازی RESTful Apis میباشد. Open Data Protocol یا به اصطلاح OData یک data access protocol برای وب میباشد که اجازهی تغییر دادن و نوشتن کوئری درون CRUD مربوطه را میدهد (create - read - update - delete). Asp.Net WebApi از ورژن 3 و 4 این پروتکل بطور کامل پشتیبانی مینماید. در این آموزش ما از WebApi 2.2 , OData V4, Ef 6 استفاده کردهایم. با استفاده از ویژوال استودیو یک پروژهی Asp.Net را از نوع Empty به ...
بعد از معرفی نسخهی 2 از Asp.Net Web Api و پشتیبانی رسمی آن از OData بسیاری از توسعه دهندگان سیستم نفس راحتی کشیدند؛ زیرا از آن پس میتوانستند علاوه بر امکانات جالب و مهمی که تحت پروتکل OData میسر بود، از سایر امکانات تعبیه شده در نسخهی دوم web Api نیز استفاده نمایند. یکی از این قابلیتها، مبحث مهم Batching Processing است که در طی این پست با آن آشنا خواهیم شد.
منظور از Batch Request این اس ...
در مطالب قبلی با پروتکل OData و WCF Data Service و قراردادهای کوئری نویسی آن آشنا شدید. حال میخواهیم با استفاده از Jquery به دادههای وب سرویس WCF Data Service دسترسی یابیم. اما پیش نیازهای لازم است
پیش نیاز اول : دسترسی به خروجی Json وب سرویس WCF Data
خروجی پیش فرش وب سرویس WCF Data Services ساختار Xml دارد پس میبایست وب سرویس را متوجه سازیم که ما با خروجی Json نیاز داریم. از نسخه 5 به بعد اگر MaxProtocolVersion را بر روی V3 قرار ده ...
در مطلب قبلی قراردادهای کوئری نویسی در OData و WCF Data Service - قسمت اول با قراردادهای کوئری نویسی آشنا شدید در این مطلب به جزئیات بیشتر این قراردادها میپردازیم.
عمگرهای منطقی
در OData نه عملگر منطقی داریم که امکان مقایسه منطقی در عباراتهای شرطی را در اختیارمان قرار میدهد.
eq عملگر برابری
ne عملگر مخالف
lt عملگر کوچکتری
le عملگر کوچکتر یا مساوی
gt عملگر بزرگنری
ge عملگر بزرگتر یا مساوی
and
or
not
عملگرهای ریاضی
پنج عمگر ریاضی وجود ...
قبل از اینکه با کاربردهای OData بیشتر آشنا شوید میبایست قراردادهای کوئری نویسی با استفاده از آدرس وب سرویس را فراگیرید. در سمت گیرنده WCF Data Service زمانی که شما یک آدرس وب سرویس را به پروژه خود اضافه مینمایید مدلها و روابط موجودیتها بصورت خودکار تولید شده و دیگر لازم نیست از کوئری نویسی با آدرس وب سرویس استفاده نمایید و به جای آن از LINQ براحتی میتوانید دادههای خود را جستجو نمایید.اما اگر بخواهید وب سرویس را در بسترهای دیگر یا د ...