شماره تماس 09336863931 | 09178169907 پست الکترونیک info@provid.ir

دریافت داده های JSON از کوئری های SQL Server – قسمت اول

با سری آموزش “دریافت داده های JSON از کوئری های SQL Server – قسمت اول” از وبسایت پرووید در خدمت شما هستیم. به ادامه ی مطلب بروید.

قابلیت های جدید SQL Server 2016

SQL Server 2016 قابلیت جدید برای دریافت داده های یک جدول در قالب JSON را دارد. با توجه به این موضوع که امروزه بسیار از وب سرویس ها با داده های JSON کار می کنند، وجود چنین قابلیتی می تواند بسیاری از Action Method هایی که درون Controller ها تعریف شده و کلاینت ها توسط AJAX به آنها درخواست می دهند را ساده کند. در واقع، Action Method ها می توانند در قالب Wrapper هایی ساده برای کوئری های SQL ایفای نقش کنند. از دیگر قابلیت های SQL Server 2016 می توان به temporal table ها اشاره کرد که با یاری خدا در مقالات بعدی به آن اشاره می کنیم.

پشتیبانی از JSON در SQL Server 2016 از کلیدواژه ها و توابعی تشکیل شده است که می توانید از آنها در کوئری ها استفاده کنید. علی رغم روشی که در کار با XML در SQL Server وجود دارد، برای کار با JSON، نوع داده ای خاصی (مثلاً JSON) وجود ندارد. برای استفاده از JSON، کافی است که داده های خود را به در ستون های با نوع داده ای VarChar(Max) ذخیره کنید. نکته ی جالب همین است که در صورت عدم وجود نوع داده ای JSON، قابلیت کوئری گرفتن از داده های JSON وجود دارد. علاوه بر این، ذخیره کردن داده های JSON در سطرهای SQL Server نیز قابلیت جالبی است که در یک مقاله ی دیگر به آن اشاره خواهیم کرد.

نکات مهم

قبل از اینکه بحث مربوط به این قابلیت جذاب را مطرح کنیم، سه نکته ی اساسی و مهم را باید در نظر بگیرید:

  • در حال حاضر در Entity Framework و LINQ قابلیتی برای کار کردن با JSON و TSQL وجود ندارد. برای دسترسی و کار کردن با JSON در دات نت باید با دستورات ساده و قدیمی ADO.NET کار کنید. البته، این موضوع که Entity Framework Core که از آپشن های پیکربندی بیشتری برخوردار است، بتواند روزی از این قابلیت برخوردار باشید دور از توقع نیست.
  • بدون LINQ، استفاده از IQueryable به عنوان نوع بازگشتی یک Action Method کار بیهوده ای است. چرا که کار با OData برای کاربر در چنین شرایطی قابل انجام نیست.
  • اگر از ASP.NET Web API و نوع داده ای JSON در SQL Server استفاده می کنید، دیگر نمی توانید از Content Negotiation استفاده کنید. به عبارت دیگر، متدهای شما همیشه نوع داده ای JSON را به عنوان خروجی برخواهند گشت.

 

 

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

CLOSE
CLOSE