خانه > Entity Framework, Persian Contents > روش‌های موجود برای کوئری زدن روی مدل مفهومی در Entity Framework

روش‌های موجود برای کوئری زدن روی مدل مفهومی در Entity Framework

برای واکشی داده‌ها از روی پایگاه داده به کمک Entity Framework چندین راه وجود دارد که در ادامه به صورت خلاصه به آن‌ها اشاره خواهم کرد:

۱- LINQ to Entity : در این روش استفاده از قابلیت LINQ برای کوئری زدن روی انواع موجودیت تعریف شده در مدل مفهومی برای برنامه‌نویسان مهیاست.

۲- Entity SQL : یک نسخه خاص از زبان SQL است (یک dialect) که مستقل از ذخیره‌سازی می‌باشد و به صورت مستقیم با موجودیت‌های موجود در مدل مفهومی و آنهایی که مفاهیم EDM را پشتیبانی می‌کنند، کار می‌کند. این نوع از زبان هم با کوئری‌های آبجکتی و هم کوئری‌هایی که توسط استفاده از Entity Client Provider اجرا می‌شوند، قابل استفاده هستند.

۳- متدهای سازنده کوئری (Query Builder Method) : این متدها به ما این امکان را می‌دهند که کوئری‌های Entity SQL را با استفاده از متدهای کوئری به روش LINQ تولید کنیم.

ذکر چند نکته در این رابطه الزامیست که در پایین به آن‌ها اشاره خواهم کرد:

  • EF از EntityClient data provider برای مدیریت connection ها، ترجمه کوئری‌های موجودیت به کوئری‌های مخصوص منبع داده و بازگرداندن یک DataReader که EF برای ساختن موجودیت‌ها در آبجکت‌ها نیاز دارد، استفاده می‌نماید. زمانی که نیازی به تبدیل شدن به آبجکت‌ها هم احساس نشود، این provider می‌تواند به عنوان یک ADO .NET data provider استفاده شود و خروجی را به عنوان یک DataReader فقط خواندنی به ما بدهد.
  • ابزارهای EDM می‌توانند یک کلاس که از ObjectContext مشتق شده را تولید نمایند که جایگزین entity container در مدل مفهومی شود.
  • EntityClient provider مدل ADO .NET provider را با دسترسی داده‌ای بر حسب موجودیت‌های مفهومی و ارتباطات توسعه داده است. این provider  کوئری‌هایی که از Entity SQL استفاده کرده باشند، اجرا می‌کند.
  • EF شامل یک provider داده‌ای به روز شده SqlClient است که درخت‌های دستور (command tree) استاندارد را پشتیبانی می‌کند.
  • EF نسخه ۴ شامل یک ابزار command prompt به نام EdmGen.exe است که به منبع داده‌ای متصل شده و مدل و نگاشت را بر اساس یک نگاشت یک به یک بین موجودیت‌ها و جداول تولید می‌کند. این ابزار از یک فایل مدل مفهومی (csdl) برای تولید لایه آبجکت که شامل کلاس‌هایی که جایگزین انواع موجودیت و ObjectContext می‌شوند نیز استفاده می‌نماید.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: