صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

آخرین ارسال در سال 89

سال 89 برای من سالی بسیار متفاوت بود . همانند دیگر سالها با فراز و نشیب فراوانی بود . اما مهمترین نکته ای که در این سال برای من حاصل شد . عرصه وبلاگ نویسی بود

تا سالها قبل فکر می کردم وبلاگ نویسی صرفا اتلاف وقت است اما بعدها متوجه اهمیت آن شدم لذا از خرداد ماه بصورت جدی تری وارد این عرصه شدم نمی خواهم ادعا کنم که خیلی مفید بودم . اما می توانم بگویم تلاش کردم مفید باشم .در اینجا از تمام دوستانی که بحث آموزشی را پی گیری می کنند پوزش می طلبم که مجبورم بقیه بحث را به سال آینده موکول کنم .اما از مهمترین دستاوردهای من درعرصه فضای مجازی را باید در آشنا شدن من با دوستان عزیزی بدانم که به حق باید اعتراف کنم که در تغییر نگرش من و راه زندگی من تاثیر مثبت و عالی داشتند . یادمان نرود که اگر از فضای مجازی در عصر جدید به خوبی استفاده کنیم می توانیم دوستان بسیار خوبی پیدا کنیم . که شاید در فضای واقعی مانند آنها را نداشته باشیم.البته این نکته را هم اضافه کنم که بنده این دوستان را تا الان در فضای فیزیکی ملاقات نکرده ام اما در فضای مجازی با آنها و نوشته های آنها آشنا شده ام . در زیر با ذکر سایتها نام افراد را برای سپاسگذاری هم ذکر خواهم کرد .

 

وبلاگ و سایت سازمانی

 

1-سایت انجمن متا : این سایت توسط آقایان کوکبی و شهباززاده و استاد بزرگوارم احسانی ایجاد شده . در این سایت تاکید بر تولید محتوی علمی و انجام کارهای گروهی است . دوستان تلاش می کنند که با سبکی متفاوت فرومی ایجاد کنند که تولید کننده علم باشد . هنوز در اول راه است اما تاکنون موفقیتهای فراوانی کسب کرده است . و از همه مهمتر روحیه انتقاد پذیری و تجربه عالی دوستان بسیار قابل تحسین است .جا دارد در اینجا صمیمانه از آنها تشکر کنم .از مهمترین کاربران این سایت خانم دلفان که در امور حسابداری و متفرقه می نویسند و خانم فیلسوفیا که در زمینه فلسفه مطالب جالبی دارن و آقای غیوری که متبحر در زمینه بازار های مالی و بورس و سیویلار که مهندس عمران هستند .البته بنده هم در این سایت در بخش کامپیوتر مطلب می نویسم .

 

2-وبلاگ بهساد : این وبلاگ از آن دسته وبلاگهای سازمانی است که توسط مجید آواژ اداره می شود . اگر چه این وبلاگ متعلق به یک شرکت است اما نوشته های گرانبها و از همه مهمتر اشتراک گذاری تجربیات عالی و ممتاز با دیگران از مهمترین امتیازات این وبلاگ است . شخصا هر وقت به اینترنت وصل می شوم حتما به این وبلاگ سر می زنم . تا از آخرین مطلب ممتاز آن بهره مند شوم .

 

3-وبلاگ رادمان : این وبلاگ توسط علی واحد اداره می شود . وبلاگی سازمانی متعلق به شرکت رادمان است . تجارب مدیریتی و نرم افزاری و از همه مهمتر مهندسی نرم افزار را شامل می شود .و بلاگی عالی که بنده مدیون مطالب بسیار خوب و آموزنده آن هستم . در این وبلاگ بیشتر با طعم مهندسی نرم افزار است . به قولی سرگذشت یک مهندس نرم افزار است . زیباترین و موثرترین مطلبی که من در این سایت مرا تحت تاثیر قرار داد  "پیر برنامه ساز ، برنامه نویس پیر " توصیه می کنم . اگر برنامه نویس هستید حتما این مطلب زیبا را بخوانید .

 

4-وبلاگ ایده گستران : وبلاگ سازمانی که توسط دو نفر اداره می شود . وبلاگی است که دارای محتوای جالبی است همراه با تجربیات مفید گردانندان آن .

 

وبلاگهای شخصی

 

1-وبلاگ وحید نصیری : فکر نمی کنم این وبلاگ نیازی به معرفی داشته باشد . وبلاگی پر محتوا و دارای مطالب آموزنده و بسیار عالی است . آقای نصیری نویسنده چند کتاب هستند و مطالب وبلاگ ایشان واقعا پرمحتوا است . جا دارد که صمیمانه از زحمات ایشون تشکر کنم . البته با کمال تاسف اخیرا فیلتر شده است

 

2-وبلاگ افشار محبی : وبلاگی تخصصی و دارای مطالب خوب و مفید . علاوه بر مطالب تخصصی گاهی از تجربیات کاری و دغدغه های برنامه نویسان نیز مطالب جالبی می نویسند . جا دارد که صمیمانه از زحمات ایشون تشکر کنم

 

3-وبلاگ امیر مهرانی : واقعا مطالب این وبلاگ در روحیه من تاثیر گذار بود بخصوص مطالبی که در مورد برند و پرسنال برندینگ می نویسند بسیار خواندنی هستند .وبلاگی بسیار پر محتوا از فردی با تجربه در زمینه منابع انسانی و به تعبیری دیگر باید اعتراف کنم که در مسیر کاری راهنماییهای جالبی دارد که خواندن آنها را به همه توصیه می کنم . باز هم از ایشون بابت زحماتشون تشکر می کنم .

 

4-کاوه یزدانی نژاد : وبلاگ برنامه نویسی با تجربه که در کنار تجربه های برنامه نویسی و فنی از تجربیات کاری و مدیریتی هم مطالب جالبی می نویسند . اخیرا مطالب جالبی را از کتابها برایان تریسی و..  نوشته اند که خیلی مفید بود . علاوه بر آن تجربه های کاری ایشون نیز بسیار خواندنی و مفید است . از ایشون بابت زحماتشون تشکر می کنم .

 

5-سماموس : وبلاگ برنامه نویسی با تجربه و از همه مهمتر مهندسی نرم افزار است .نویسنده این وبلاگ آقای یوسف مهرداد هستند که از با تجربه های دنیای مهندسی نرم افزار هستند و از همه مهمتر نویسنده کتاب

(( روش کاربردی تحلیل نیازمندیهای نرم افزار )) هستند . کتابی است بسیار پر محتوا و مفید است . جا دارد از زحماتشون تشکر کنم .

 

6-فراسان : وبلاگی است در زمینه نرم افزار به اضافه تجربیات یک برنامه نویس است وبلاگی بسیار پر محتوا و آموزنده است .این وبلاگ توسط ایمان نعمتی اداره می شود که شامل مطالب بسیار جالبی است . البته با کمال تاسف اخیرا فیلتر شده است .   جا دارد از زحماتشون تشکر کنم .

 

7-مهندس علی نوبر : وبلاگی است که بیشتر در زمینه های معماری سرویس گرا مطالب بسیار خوبی دارند . بیشتر مطالب وبلاگ در مورد معماری نرم افزار و تحلیل است . خواندن مطالب آن رابه همه توصیه می کنم از زحمات نویسنده این بلاگ هم تشکر می کنم .

 

8-مهندسی نرم افزار : وبلاگی در مورد مهندسی نرم افزار و از همه مهمتر الگوهای طراحی و کارهای تیمی مطالب بسیار مفیدی دارد . این وبلاگ توسط بهروز بختیاری اداره می شود که جا دارد از ایشون هم تشکر کنم . بابت مطالب بسیار خوب وبلاگ

 

9-دنیای چابک : اگر می خواهید با دنیای agile  آشنا شوید این وبلاگ مطالب بسیار پر محتوایی دارد .این وبلاگ توسط اسد صفری اداره می شود . ایشون کتاب اسکرام و اکس پی ساده شده را ترجمه کرده اند و برای استفاده عموم در وبلاگ خود قرار داده است که می توانید آن را دانلود کنید و از مطالب پر محتوا آن بهره مند شوید . از ایشون هم بابت زحماتشون تشکر می کنم .

 

10-وبلاگ مسعود رمضانی : وبلاگی در زمینه برنامه نویسی است مطالب بسیار خوبی دارد .  از ایشون هم بابت زحماتشون تشکر می کنم

 

11-پویا بلاگ : وبلاگی در زمینه مهندسی نرم افزار . نویسنده این وبلاگ به همراه استاد یوسف مهرداد کتاب

(( روش کاربردی تحلیل نیازمندیهای نرم افزار )) را تالیف کرده اند . از ایشون هم بابت زحماتشون تشکر می کنم .

 

اما سخن پایان . دنیای وبلاگ نویسی دنیای عجیبی است . افراد تجربیات خود را بدون هیچ توقعی در اختیار دیگران قرار می دهند . به قولی به اشتراک می گذارند . لازم دانستم تا آنجایی که در توانم هست اگر از نوشته فردی سودی برده ام حداقل از ایشون تشکر کنم . لذا اینجا از تمام وبلاگ نویسان ذکر شده در بالا باز هم بابت زحماتشون صمیمانه تشکر می کنم .و برای تمام آنها سالی پر بار از موفقیت آرزو می کنم .

 

پیروز و سربلند باشید .

 

 

 

Entity Framework 4 part ۱۱

Entity SQL  part 2


Using Entity SQL with object queries


در این بخش می خواهم درباره کویری Entity Sql  با objectServic  کمی توضیح بدهم . در واقع ما کویریهای خودمان را بروی object Query  انجام می دهیم .

قبل از هر چیر به مقاله 9 مراجعه کنید و همان مدل را دوباره پیاده کنید . اکنون سعی می کنم با چند مثال ساده نحوه کار را نشان دهم . می خواهیم یک کویری بنویسیم که از جدول Contact  تمام فیلدهای نامی که نام خانوادگی آن Lastname برابر رشته Zhou باشد را بر گرداند ابتدا متغیری برای اتصال یه موجودیت تعریف می کنیم . و.. کد زیر را مشاهد کنید .



همانطور که در بالا مشاهده می کنید . به تعریف متغیر رشته ای به نام esqlQuery دقت کنید . این متغیر در واقع یک کویری برای ما می سازد . این کویری در سطربعدی باید بع عنوان آرگومانی به متغیر query  ارسال شود . متغیر query همانطور که مشاهده می کنید . در طرف راست دارای سه پارامتر است . پارامتر اول در واقع همان دستور کویری است . پارامتر دوم متغیری از نوع کلاس مدل که در اول برنامه تعریف شد د ر واقع رشته کویری ما بر روی این مدل داده ها اجرا می شود و سرانجام پارامتر سوم که حالت موجویت ها را نشان می دهد که بعدها در مورد آن توضیح خواهم داد .

علاوه بر این ما باید پارامترهایی را اضافه کنیم چرا که کویری ما مشروط بود پس در سطر بعدی پارامتر را به همراه مقدار آن اضافه می کنیم و سرانجام با تشکیل حلقه پیمایش نتیجه پرس و جو را مشاهده می کنیم .

مهمترین نکته ای که باید به آن توجه کنید . استفاده از کلاس objectQuery  است . در واقع این کلاس کویریهای ما را بر روی مدل مفهومی conceptual model  اجرا می کند و آن را به صورت یک شی قابل پیمایش نگه می دارد .

بحث در این زمینه بسیار مفصل است که در این مختصر نمی گنجد بنده برای ایجاد هماهنگی در نوشته های با سایت Msdn  مثالهایی را از آن سایت آوردم برای پی گیری بیشتر مثالها می تونید از سایت منبع بقیه مثالهای آموزشی در این مورد را پی گیری کنید .

با تشکر

 

ادامه دارد...

Entity Framework 4 part ۱۰

Entity SQL  part 1

 

در بخش قبل در مورد LINQ to Entities  صحبت کردیم . همچنین در بخشهای قبلی اگر خاطرتان باشد گفتم که Entity SQL  هم می تواند از طریق ObjectService  و هم مستقیما می تواند از طریق EntityClient  با بانک اطلاعاتی ارتباط برقرار کند . علاوه بر اینها ذکر کردیم که به دستورات T_SQL  شبیه است . بنابراین باید مطالب را در 3 بخش توضیح دهم . بخش اول در مورد شباهتها و تفاوتهای Entity SQL  و بخش دوم در مورد تعامل Entity SQL  با ObjectService    و بخش سوم در مورد تعامل Entity SQL  با EntityClient  خواهد بود .

 

بخش اول : تفاوتهای Entity SQL  با دستورات T-SQL

 

1-وراثت و ارتباطات

همانطور که می دانید در مدل ما به دلیل وجود کلاسها .، از مفهوم وراثت و ارتباط بین عناصر پشتیبانی می کند در حالی که T-SQL  فقط از ارتباطات بین عناصر پشتیبانی می کند . علاوه بر این Entity SQL  در واقع با مدل مفهومی Conceptual entity  سرو کار دارد .

 

2-Collections

Entity SQL  همانند یک کلکسیونی از اشیا رفتار می کند در واقع داده های حاصل از آن براحتی در مجموعه Collection  ها قابل جایگزاری است .

 

3-پشتیبانی از عبارتها

شما در دستورات T-SQl  فقط با جدولها و ستونهای آن جدولها سروکار دارید در حالی که در Entity SQL علاوه بر اینها شما می توانید در کویری خود عبارتهای مختلفی را نیز داشته باشید .

 

4-select Value

این عبارت زمانی به کار می رود که ما بخواهیم آیتم مشخصی را بصورت آبجکت یا کلکسیون و یا یک مقدار اسکالر داشته باشیم . به شکل زیر دقت کنید .



در شکل بالا یک ساختاری کلی از عبارت select value  در Entity SQL  نمایش می دهد . همانطور که می بینید . در دستور بالا ما یک Object  بر می گردانیم یعنی حاصل کویری ما یک Object  است .با همین فرم بالا ما می توانیم یک ابجکت و یا مقدار مشخص یا کلکسیونی از داده ها داشته باشیم .به شکل زیر دقت کنید .



در کویری اول ما یک شی و در کویری دوم ما یک فیلد و در نهایت در کویری سوم ما یک ستونی بر می گردانیم که از نوع ارجاع Refrence  می باشد . مبحث این مطلب بعدها توضیح خواهم داد .

خوب اکنون متوجه شدیم که عبارتهای کویری در Entity SQL  تا چه حد می توانند انعطاف پذیر باشند .

اما اگر بخواهیم چندین آیتم انتخاب کنیم دیگر نیازی به عبارت value  نخواهیم داشت بلکه ذکر نام آن فیلدها کافی است .


5-Referencing Columns  

در دستورات زبان T-SQl  به هنگام انتخاب ستونهای جدول نیازی نیست که قبل از نام هر ستون ، نام جدول ذکر شود اما در Entity SQL  این امر ضروری است شما باید در مقابل نام هر ستون ، ابتدا نام مرجع آن را هم ذکر کنید .دستور پایین اولی یک دستور T-SQl  است و دومی یک دستور Entity SQL  است .

 

select a from T

 

select t.a as A from T as t

 

6- عدم پشتیبانی از *

حتما می دانید که در زبان T-SQL هر گاه بخواهیم تمام ستونهای یک جدول را انتخاب کنیم از عبارت * استفاده می کردیم اما در Entity SQL  این کار امکان پذیر نیست .

 

7-عدم پشتیبانی از دستورات DDL  و DML  در Entity SQL

 

8-پشتیانی از گروه بندی مستعار

خیلی وقتها شما نیاز دارید برای کویری خود یک گروه بندی تعریف کنید . در زبان T-SQL  شما باید نام گروهها را به صراحت و مطابق نام ستونها تعریف کنید در حالی که در زبان Entity SQL  شما می توانید از عبارتها مستعار هم استفاده کنید . در عبارت زیر یک دستور T-SQL  است .

select b + c, count(*), sum(a)

from T

group by b + c

 

حال عبارت بالا در Entity SQl مشاهده کنید که چگونه برای گروه نام مستعار انتخاب کرده است .

 

select k1, count(t.a), sum(t.a)

from T as t

group by t.b + t.c as k1


مبحث در این زمینه مفصل است اما اگر بخواهید کاملتر مطالع کنید از این لینک استفاده کنید

ادامه دارد....