<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>مدونة النبهاني &#187; تقنية net.</title>
	<atom:link href="http://alnabhani.wordpress.com/category/%d8%aa%d9%82%d9%86%d9%8a%d8%a9-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://alnabhani.wordpress.com</link>
	<description>أحدث مواضيعي البرمجية والتقنية</description>
	<lastBuildDate>Sat, 28 Nov 2009 17:05:07 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>ar</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='alnabhani.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/91abf77f7c013d66c6f253d8802f990d?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>مدونة النبهاني &#187; تقنية net.</title>
		<link>http://alnabhani.wordpress.com</link>
	</image>
			<item>
		<title>هل سمعت بـ T4 ؟</title>
		<link>http://alnabhani.wordpress.com/2009/09/08/%d9%87%d9%84-%d8%b3%d9%85%d8%b9%d8%aa-%d8%a8%d9%80-t4-%d8%9f/</link>
		<comments>http://alnabhani.wordpress.com/2009/09/08/%d9%87%d9%84-%d8%b3%d9%85%d8%b9%d8%aa-%d8%a8%d9%80-t4-%d8%9f/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 20:32:33 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[.net 4]]></category>
		<category><![CDATA[code generation]]></category>
		<category><![CDATA[t4]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2009/09/08/%d9%87%d9%84-%d8%b3%d9%85%d8%b9%d8%aa-%d8%a8%d9%80-t4-%d8%9f/</guid>
		<description><![CDATA[ان كنت قد تجولت في مواقع الانترنت ذات العلاقه بمايكروسوفت ، فأكيد ان صداعا في الرأس بدأ يصيبك من رؤية بعض المصطلحات المعتمدة في الاصدرات القادمة ابرزها T4 ، فعشرات المواقع والمجلات والمدونات تتحدث عن T4 واجزم انك رأيت ذلك المصطلح امامك عشرات المرات ! والسؤال الذي يطرح نفسه : ماذا يقصد بـ T4 ؟ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=145&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="justify">ان كنت قد تجولت في مواقع الانترنت ذات العلاقه بمايكروسوفت ، فأكيد ان صداعا في الرأس بدأ يصيبك من رؤية بعض المصطلحات المعتمدة في الاصدرات القادمة ابرزها T4 ، فعشرات المواقع والمجلات والمدونات تتحدث عن T4 واجزم انك رأيت ذلك المصطلح امامك عشرات المرات ! والسؤال الذي يطرح نفسه : ماذا يقصد بـ T4 ؟ </p>
<p align="justify">T4 هو رمز الى عبارة Text Templating Transformation Toolkit &#8211; اي حرف T اربع مرات بدل TTTT !! &#8211; وهي تقنية طورتها مايكروسوفت سابقا وقد قامت حاليا برفع متسوى تطويرها الى مرحلة متقدمة جدا ، هذه التقنية تستخدم في توليد الاكواد Code Generation في مختلف منتجات مايكروسوفت وابرزها بطبيعه الحال Visual Studio .&#160; </p>
<p align="justify">محرك T4 موجود اصلا في النسخه 2008 وقادم بشكل قوي جدا في 2010 ، ففي الاصدار الحالي لايوجد اي اداة Tool لاستخدامها في اعادة توليد الاكواد الروتينية ، ولكن في الاصدار 2010 فالوضع مختلف حقا من هذه الناحية ، وبالنسبه للاصدار 2008 فيمكنك استخدام ادوات خارجيه تؤدي هذا الغرض منها اداة Visual T4 Editor و Visual T4 Code Generator وبعضها يتوفر في اصدارات مجانية وهي تتميز بإندماجها بشكل كلي مع Visual Studio . </p>
<p align="justify">موقع الاداة Visual T4 هو : <a href="http://www.visualt4.com/">http://www.visualt4.com/</a>    <br />وموقع الاداة&#160; Visual T4 Code Generator هو :</p>
<p align="justify"><a title="http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html" href="http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html">http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html</a></p>
Posted in تقنية net. Tagged: .net 4, code generation, t4 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/145/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=145&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/09/08/%d9%87%d9%84-%d8%b3%d9%85%d8%b9%d8%aa-%d8%a8%d9%80-t4-%d8%9f/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>الأداة CAT.NET</title>
		<link>http://alnabhani.wordpress.com/2009/09/04/%d8%a7%d9%84%d8%a3%d8%af%d8%a7%d8%a9-cat-net/</link>
		<comments>http://alnabhani.wordpress.com/2009/09/04/%d8%a7%d9%84%d8%a3%d8%af%d8%a7%d8%a9-cat-net/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 20:23:35 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[cat.net]]></category>
		<category><![CDATA[code analysis]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2009/09/04/%d8%a7%d9%84%d8%a3%d8%af%d8%a7%d8%a9-cat-net/</guid>
		<description><![CDATA[هي اداة برمجية مجانية تقوم شركة مايكروسوفت بإصدارها ، وهي عبارة عن اضافة على Visual Studio 2005 وما فوق ، تهدف الى البحث في اكواد مشاريعك عن نقاط الضعف في البيانات ، والتي يقصد بها الثغرات المعروفة كـ SQL Injection ،XSS Injection و XPath Injection في اكوادك وتعرضها عليك ، هذه قائمة بهذه الثغرات التي [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=144&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>هي اداة برمجية مجانية تقوم شركة مايكروسوفت بإصدارها ، وهي عبارة عن اضافة على Visual Studio 2005 وما فوق ، تهدف الى البحث في اكواد مشاريعك عن نقاط الضعف في البيانات ، والتي يقصد بها الثغرات المعروفة كـ SQL Injection ،XSS Injection و XPath Injection في اكوادك وتعرضها عليك ، هذه قائمة بهذه الثغرات التي تكتشفها: </p>
<blockquote><p dir="ltr" align="left">Cross Site Scripting     <br />SQL Injection      <br />Process Command Injection      <br />File Canonicalization      <br />Exception Information      <br />LDAP Injection      <br />XPATH Injection      <br />Redirection to User Controlled Site</p>
</blockquote>
<p>لتحميل هذه الاداة اتبع <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=0178e2ef-9da8-445e-9348-c93f24cc9f9d&amp;displaylang=en" target="_blank">الرابط التالي</a> ، علما بانها لاتزال تحت التطوير beta .</p>
Posted in تقنية net. Tagged: beta, cat.net, code analysis <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/144/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=144&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/09/04/%d8%a7%d9%84%d8%a3%d8%af%d8%a7%d8%a9-cat-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>لا يمكنك انشاء مشروع جديد يا حبيبي !</title>
		<link>http://alnabhani.wordpress.com/2009/08/30/%d9%84%d8%a7-%d9%8a%d9%85%d9%83%d9%86%d9%83-%d8%a7%d9%86%d8%b4%d8%a7%d8%a1-%d9%85%d8%b4%d8%b1%d9%88%d8%b9-%d8%ac%d8%af%d9%8a%d8%af-%d9%8a%d8%a7-%d8%ad%d8%a8%d9%8a%d8%a8%d9%8a/</link>
		<comments>http://alnabhani.wordpress.com/2009/08/30/%d9%84%d8%a7-%d9%8a%d9%85%d9%83%d9%86%d9%83-%d8%a7%d9%86%d8%b4%d8%a7%d8%a1-%d9%85%d8%b4%d8%b1%d9%88%d8%b9-%d8%ac%d8%af%d9%8a%d8%af-%d9%8a%d8%a7-%d8%ad%d8%a8%d9%8a%d8%a8%d9%8a/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 10:06:05 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[visual studio 2008]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2009/08/30/%d9%84%d8%a7-%d9%8a%d9%85%d9%83%d9%86%d9%83-%d8%a7%d9%86%d8%b4%d8%a7%d8%a1-%d9%85%d8%b4%d8%b1%d9%88%d8%b9-%d8%ac%d8%af%d9%8a%d8%af-%d9%8a%d8%a7-%d8%ad%d8%a8%d9%8a%d8%a8%d9%8a/</guid>
		<description><![CDATA[في يوم حالك السواد ، قمت بتشغيل حاسوبي لأجد مجموعة من المشاكل الغريبة في النظام – ويندوز فيستا – حيث ان متصفح الانترنت Internet Explorer 8 كل بضعه دقائق ينبهني بأن برنامجا حاول تعديل محرك البحث الرئيسي فيه ، وبعض البرامج لا تعمل كما يجب ، توجهت بعدها إلى Visual Studio 2008 وهناك كانت المفاجأه [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=143&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>في يوم حالك السواد ، قمت بتشغيل حاسوبي لأجد مجموعة من المشاكل الغريبة في النظام – ويندوز فيستا – حيث ان متصفح الانترنت Internet Explorer 8 كل بضعه دقائق ينبهني بأن برنامجا حاول تعديل محرك البحث الرئيسي فيه ، وبعض البرامج لا تعمل كما يجب ، توجهت بعدها إلى Visual Studio 2008 وهناك كانت المفاجأه ! لا يوجد أي قالب Tamplate لأي نوع من المشاريع في أي لغة سواء VB او C# وبالتالي لا يمكن انشاء أي مشروع جديد ! ولا حتى اضافه أي عنصر جديد إلى أي مشروع موجود مسبقا ! وفي كل مره تظهر امامي الرسالة التالية :</p>
<p>&quot;No template information found. See the application log in Event Viewer for more details. To open Event Viewer, click Start, click Control Panel, double-click Administrative Tools, and then double-click Event Viewer.&quot;</p>
<p>توجهت إلى مستعرض الاحداث Event Viewer فوجدت الرسالة التالية :</p>
<p>the global template information is out of date. Regenerate the templates by running &#8216;devenv.exe /installvstemplates&#8217; or reinstalling the application.</p>
<p>فور قراءتي للرسالة السابقه ، توجهت إلى محرر الاوامر في ويندوز Command Promote وكتبت ما يلي الاوامر التالية سطرا بسطر :</p>
<p>cd \</p>
<p>cd c:\Program files\Microsoft visual Studio 9.0\common7\IDE</p>
<p>devenv.exe /installvstemplates</p>
<p>بعد تلك السطور انحلت المشكله وعادت المياه إلى مجاريها !</p>
<p>تحياتي</p>
Posted in تقنية net. Tagged: problem, visual studio 2008 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/143/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=143&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/08/30/%d9%84%d8%a7-%d9%8a%d9%85%d9%83%d9%86%d9%83-%d8%a7%d9%86%d8%b4%d8%a7%d8%a1-%d9%85%d8%b4%d8%b1%d9%88%d8%b9-%d8%ac%d8%af%d9%8a%d8%af-%d9%8a%d8%a7-%d8%ad%d8%a8%d9%8a%d8%a8%d9%8a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>حقول الهوية : بين الفئات البرمجية وحقول SQL Server :</title>
		<link>http://alnabhani.wordpress.com/2009/08/23/%d8%ad%d9%82%d9%88%d9%84-%d8%a7%d9%84%d9%87%d9%88%d9%8a%d8%a9-%d8%a8%d9%8a%d9%86-%d8%a7%d9%84%d9%81%d8%a6%d8%a7%d8%aa-%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d9%8a%d8%a9-%d9%88%d8%ad%d9%82%d9%88%d9%84/</link>
		<comments>http://alnabhani.wordpress.com/2009/08/23/%d8%ad%d9%82%d9%88%d9%84-%d8%a7%d9%84%d9%87%d9%88%d9%8a%d8%a9-%d8%a8%d9%8a%d9%86-%d8%a7%d9%84%d9%81%d8%a6%d8%a7%d8%aa-%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d9%8a%d8%a9-%d9%88%d8%ad%d9%82%d9%88%d9%84/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 17:28:13 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة قواعد البيانات ADO.NET]]></category>
		<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[guid]]></category>
		<category><![CDATA[identity key]]></category>
		<category><![CDATA[key field]]></category>
		<category><![CDATA[حقل مفتاحي]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2009/08/23/%d8%ad%d9%82%d9%88%d9%84-%d8%a7%d9%84%d9%87%d9%88%d9%8a%d8%a9-%d8%a8%d9%8a%d9%86-%d8%a7%d9%84%d9%81%d8%a6%d8%a7%d8%aa-%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d9%8a%d8%a9-%d9%88%d8%ad%d9%82%d9%88%d9%84/</guid>
		<description><![CDATA[يوجد الكثير من الطرق التي لعمل حقول هوية مميزة Identity fields او ما يعرف بالمفتاح الأساسي Primary Key Filed ، من اشهرها على الاطلاق حقل الـ Autoincrement او الترقيم التلقائي ، والتي يتم فيها توليد رقم تلقائي يزيد عن اخر رقم في العداد الخاص بقيمة تكون في اغلب الاحيان 1 ، تتميز بالخفة والنحافه ، [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=142&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>يوجد الكثير من الطرق التي لعمل حقول هوية مميزة Identity fields او ما يعرف بالمفتاح الأساسي Primary Key Filed ، من اشهرها على الاطلاق حقل الـ Autoincrement او الترقيم التلقائي ، والتي يتم فيها توليد رقم تلقائي يزيد عن اخر رقم في العداد الخاص بقيمة تكون في اغلب الاحيان 1 ، تتميز بالخفة والنحافه ، وبالتالي فنحن نتوقع منها الاداء المتميز كونها تحمل قيمة رقمية صغيرة تبدأ من 1 وتصل للآلاف لكنها قد تصل الملايين كلما كبر حجم البرنامج وزاد استخدامه ، وان يكن ، فهي لاتزال ارقام صحيحه integers قد تكون مثلا 99999999999953424 وماذا يعني ذلك ؟ فلا يوجد مشاكل حتى اللحظه فما احلاها !</p>
<p>ولكن ما يعيب هذا الاسلوب هو افتقادها إلى شيء مهم للغاية ، حيث اننا في التطبيقات الكبيرة نوعا ما ، يكون اغلب اعتمادنا على الوضع المنفصل فقد نستخدم Dataset,LINQtoSQL,Entity Framework,…etc ونضيف سجلات Records وقد يتم تعديلها حتى قبل ان ترسل إلى قاعدة البيانات database ، والمشكلة التي ستحدث هنا ، ان كائنات البيانات التي بحوزتنا لن تستطيع اسناد قيمة لحقل المفتاح الأساسي ، حيث ان اصدارها يتم حكرا على قاعدة البيانات فقط ، ولن نستطيع معرفة قيمتها الا بإضافة السجلات إلى قاعدة البيانات وهنا تمكن المشكلة ، ففي التطبيقات التجارية والتطبيقات التي تعتمد على تعدد الطبقات n-tier applications ، يتم اضافة العديد من السجلات وحزمها كلها في حزمة واحده لإرسالها دفعة واحدة إلى قاعدة البيانات ، كما يتم قبل ذلك كله تبادل البيانات بين طبقتي العرض والاعمال ، ناهيك عما يدور خلف الكواليس من عمليات تحقق وسين وجيم ! </p>
<p> <span id="more-142"></span>
<p>من هنا تبرز الحاجه إلى التعرف على حقل المفتاح الاساسي بطريقة اخرى ، تكمن في اعطائه قيمة فريده تماما – دون ان نخاف من تكرارها &#8211; تسند اليه وقت ادخال البيانات في التطبيق وتنتهي بذلك المشكلة . لكن ما هي هذه القيم ؟ </p>
<p>ان حاولنا ان نقوم بإنشاء فئة خاصة بنا فذلك جيد ، لكننا قد نتعب كثيرا فيها في سبيل ضمان عدم تكرر القيمة المنشأة مع أي نسخه اخرى من الكائن من نفس الفئة في الذاكرة ، او نسخه اخرى من التطبيق ككل في جهاز آخر ، قد نحتاج إلى دالة توليد الارقام العشوائيه وندخل لها معادلة محترمة في فترة interval رقمية كبيرة جدا قد تتراوح بين 1 و 5 ملايين مثلا ،ونسندها إلى حقل المفتاح الأساسي ، لكن في برنامج يتوقع ان تكون سجلاته بأعداد كبيرة فإن احتمالية تكرار الرقم الواحد ستكون اكبر وستزداد بزيادة عدد نسخ البرنامج العاملة في الشبكة !</p>
<p>قد يقترح احدهم ان نكبر المجال ليكون إلى 20 مليون مثلا وبالتالي نضع انفسنا في امان اكثر ونكون على يقين بأن نسبه تكرار الرقم صغيرة جدا – اقسم 1 على 20 مليون ! – ومن هنا سنحتاج إلى ان يكون حقل المفتاح الاساسي من نوع خاص ، فالنوع الرقمي &#8211; اما في .net او في SQL Server &#8211; لن يحتويه في اغلب الاحيان فنحن نتحدث من منظور التطبيقات المتوسطة والكبيرة والملايين ، مما قد يدفعنا إلى استخدام حقل نصي في قاعدة البيانات ، ونوع نصي كـ String مثلا في برنامجنا ، لكن هذا النوع يعاب عليه البطء في مثل هذه العمليات ، فهذا الحقل هو المفتاح الاساسي وتعتمد عليه كل العمليات الأخرى مما يعني ان ينخفض مستوى الأداء بشكل كبير جدا جدا ويصبح العمل بطيئا للغاية .</p>
<p>نفس المشكلة سنواجهها ان فكرنا في توليد بيانات عشوائية مختلطة بالنصوص والارقام ليكون لدينا قيمة مثل s334dfgr54 ولكنها ايضا ستكون نصيه بالرغم من اننا نعرف ان نسبه التكرار ستكون ضئيلة للغاية ايضا في هذه الحالة .</p>
<p>طيب والحل ؟ </p>
<p>ينفرد SQL Server وكذلك .Net Framework بالنوعين UniquIdentifier و GUID – الاول في الاول والثاني للثاني طبعا ! – فهذا النوع يقوم بتوليد سلسلة نصية طويلة مثل التالية: </p>
<p>dc63e853-804b-4eac-b2e8-270bf1095a63</p>
<p>21c5d16d-d455-49e1-ab4a-7ff39753c4f9</p>
<p>5690757b-544f-49d8-b412-d45433f55202</p>
<p>1c7c7409-a9cf-48cd-a051-6a3a145b90c3</p>
<p>1be8fd38-785c-4628-b5f8-efab7b4d7e40</p>
<p>fc9270f6-fc6b-426e-b7d8-d4b43ec73f6a</p>
<p>4f400213-dcdc-4c91-9ec0-5ce916332be4</p>
<p>74211c09-0bb7-4eea-8944-94581545e3a3</p>
<p>cbb03156-990e-4e15-891e-96788861b8f7</p>
<p>c3b60d21-94a0-4764-866b-582b04fa9701</p>
<p>d0921672-bfff-41c1-9c17-56a76d459d66</p>
<p>3434c358-2371-4352-b16e-c72c4c138525</p>
<p>21afb37d-5981-4c7f-b6f5-0c15a8b7cda5</p>
<p>c1675a25-c365-4015-8151-16d1b2ff7271</p>
<p>ceabf72d-3076-4784-80d8-879a53e21e0c</p>
<p>55760bd0-b7bc-4b14-8b4e-b808e9cb35fe</p>
<p>فنسبه تكرار الرقم ضئيلة للغاية وقد تصل إلى – بحسب حساباتي المتواضعة – 15.78E-51 تخيل 51 خانة عشرية كلها اصفار ! اذا نسبة ضئيلة جدا جدا من التكرار ، فمن هذه الناحية نضمن عدم التكرار ، ومن ناحية نوع البيانات فهو مدعوم في اطار العمل .net وفي قاعدة البيانات SQL Server ايضا ، طيب ماذا عن السرعة ؟</p>
<p>من ناحية السرعة فلا تقلق ، فبما اننا بعدنا عن النوع String فنحن في جهة آمنة من البطء ، خصوصا ان النوع مدعوم في كلا المكانين SQL Server و .Net Framework</p>
<p>وماذا بعد ؟</p>
<p>تتوفر الفئة GUID مباشرة في فضاء الاسماء System ، والميزة التي تتمتع بها انها Shared خصوصا الدالة NewGUID التي تعود بقيمة GUID هكذا : Guid.NewGuid() ، وبالنسبة لإنشاء كائن جديد فذلك عادي جدا : </p>
<p>&#160;</p>
<p dir="ltr">
<table border="1" cellspacing="0" cellpadding="2" width="500">
<tbody>
<tr>
<td valign="top" width="500">
<div class="code"><font color="#808080">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">x</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#000000">Guid</font><font color="#808080">               <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">x</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">Guid.NewGuid</font><font color="#808080">               <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.WriteLine(x)</font><font color="#808080">               </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.Read()</font> </div>
</td>
</tr>
</tbody>
</table>
<p dir="rtl">ولكن تذكر دائما وجوب استدعاء الدالة NewGUID في حالة رغبتك بإنشاء مميز جديد ، حيث ان الكود التالي :</p>
<p dir="ltr">&#160;</p>
<table border="1" cellspacing="0" cellpadding="2" width="500">
<tbody>
<tr>
<td dir="ltr" valign="top" width="500">
<div class="code"><font color="#808080">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">x</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">Guid.NewGuid</font><font color="#808080">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.WriteLine(x)</font><font color="#808080">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.WriteLine(x)</font><font color="#808080">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.WriteLine(x)</font><font color="#808080">             </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.Read()</font> </div>
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>سيعطينا نفس الناتج تماما مرتين ! والحل يكمن في استدعاء الطريقة المشتركة Guid.NewGuid في كل مرة :</p>
<p>&#160;</p>
<table border="1" cellspacing="0" cellpadding="2" width="500">
<tbody>
<tr>
<td dir="ltr" valign="top" width="500">
<div class="code"><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">x</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#000000">Guid</font><font color="#808080">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">x</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">Guid.NewGuid</font><font color="#808080">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.WriteLine(x)</font><font color="#808080">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">x</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">Guid.NewGuid</font><font color="#808080">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.WriteLine(x)</font><font color="#808080">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">x</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">Guid.NewGuid</font><font color="#808080">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.WriteLine(x)</font><font color="#808080">             </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#2b91af">Console</font><font color="#000000">.Read()</font> </div>
</td>
</tr>
</tbody>
</table>
<p>بهذا نكون قد انتهينا من هذا الموضوع .</p>
<p>تحياتي </p>
Posted in برمجة قواعد البيانات ADO.NET, تقنية net. Tagged: guid, identity key, key field, حقل مفتاحي <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/142/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=142&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/08/23/%d8%ad%d9%82%d9%88%d9%84-%d8%a7%d9%84%d9%87%d9%88%d9%8a%d8%a9-%d8%a8%d9%8a%d9%86-%d8%a7%d9%84%d9%81%d8%a6%d8%a7%d8%aa-%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d9%8a%d8%a9-%d9%88%d8%ad%d9%82%d9%88%d9%84/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>هل تعلم ما هو اطار عمل كيان البيانات Entity Framework ؟</title>
		<link>http://alnabhani.wordpress.com/2009/07/22/%d9%87%d9%84-%d8%aa%d8%b9%d9%84%d9%85-%d9%85%d8%a7-%d9%87%d9%88-%d8%a7%d8%b7%d8%a7%d8%b1-%d8%b9%d9%85%d9%84-%d9%83%d9%8a%d8%a7%d9%86-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-entity-framework/</link>
		<comments>http://alnabhani.wordpress.com/2009/07/22/%d9%87%d9%84-%d8%aa%d8%b9%d9%84%d9%85-%d9%85%d8%a7-%d9%87%d9%88-%d8%a7%d8%b7%d8%a7%d8%b1-%d8%b9%d9%85%d9%84-%d9%83%d9%8a%d8%a7%d9%86-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-entity-framework/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 12:25:38 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة قواعد البيانات ADO.NET]]></category>
		<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[ado.net]]></category>
		<category><![CDATA[ado.net entity framework]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2009/07/22/%d9%87%d9%84-%d8%aa%d8%b9%d9%84%d9%85-%d9%85%d8%a7-%d9%87%d9%88-%d8%a7%d8%b7%d8%a7%d8%b1-%d8%b9%d9%85%d9%84-%d9%83%d9%8a%d8%a7%d9%86-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-entity-framework/</guid>
		<description><![CDATA[

في إحدى الرسائل التي وصلتني إلى بريدي من فترة ، رسالة من احد الإخوة يقول فيها : &#34; السلام عليكم أبو تقنيات جديدة ! &#34; ضحكت كثيرا عندما قرأتها ، فقد كانت مضحكه جدا ، ودفعني إلى مراجعة مقالاتي ومدوناتي التي كتبتها، فوجدت ان اغلبها يتحدث عن التقنيات الجديدة التي تظهر بين الفينة والاخرى ! [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=131&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><b></b><b></b></p>
<p><b></b></p>
<p><b>في إحدى الرسائل التي وصلتني إلى بريدي من فترة ، رسالة من احد الإخوة يقول فيها : &quot; السلام عليكم أبو تقنيات جديدة ! &quot; ضحكت كثيرا عندما قرأتها ، فقد كانت مضحكه جدا ، ودفعني إلى مراجعة مقالاتي ومدوناتي التي كتبتها، فوجدت ان اغلبها يتحدث عن التقنيات الجديدة التي تظهر بين الفينة والاخرى ! فأجبته قائلا : نعم اذا كنا سنعتمد على تقنيات من انتاج شركة مايكروسوفت ، فاعلم انه يتوجب علينا اللهث وراء تلك التقنيات لأنها تظهر بشكل أسي بالمعادة </b><b>F(x) = e^x</b><b> ههههه .</b></p>
<p> <span id="more-131"></span>
<p><b></b></p>
<p><b>عموما ، نتحدث اليوم عن تقنية اخرى – كالعادة &#8211; ،وهي موجهه للتعامل مع قواعد البيانات ، فإذا كنت من مغرمي برمجة قواعد البيانات فانصحك بمتابعة هذه المقالة والتعرف على الـ </b><b>Entity Framewrok</b><b> .</b></p>
<p><b></b></p>
<p><b>يعد اطار العمل </b><b>Entity Framework</b><b> احدى الطرق المضمنه في تقنية </b><b>ADO.NET</b><b> للتعامل مع البيانات في الوضع المنفصل ، فهذه التقنية هي أخت للـ </b><b>Dataset</b><b> ، فقد ولت تلك الايام التي نستخدم فيها الـ </b><b>Dataset</b><b> حكراً رغما عنا ، فقد اصبح باليد الاختيار بين عدة تقنيات : </b><b>Dataset,Entity Framework,LINQtoSQL…</b><b> وغيرها من التقنيات التي تظهر يوما بعد يوم . ومن منطلق ان نعرف ما حولنا ومالنا وما علينا ، يتوجب علينا التعرف على هذه التقنية .</b></p>
<p><b></b></p>
<p><b>تقنية الـ </b><b>Entity Framework</b><b> تقوم بتغليف جداول قاعدة البيانات بفئات تتضمن طرق وخصائص تمثل كائنات قاعدة البيانات ، بمعنى لو كان لديك جدول بالإسم </b><b>Persons</b><b> وبه حقول كـ </b><b>PersonID,FirstName,LastName,…etc</b><b> فإن هذه التقنية ستقوم بتوليد فئة </b><b>Class</b><b> بالإسم </b><b>Persons</b><b> به حقول بنفس اسم حقول الجدول </b><b>Persons</b><b> في قاعدة البيانات ، بإختصار ، تقوم هذه التقنية بإنشاء نموذج </b><b>Model</b><b> لكائنات قاعدة البيانات ، موفرة عليك بذلك الكثير من الجهد خصوصا عندما نتكلم عن تطبيقات متعددة الطبقات </b><b>N-Tier Applications</b><b> .</b></p>
<p><b></b></p>
<p><b>من ميزات هذه التقنية ، هو ان نموذج البيانات </b><b>Data Model</b><b> الموجود لديك ، لا يشترط ان يكون مطابقاَ لما هو موجود في قاعدة البيانات ، بمعنى اخر ، بإمكانك تخصيص شكل نموذج البيانات ليكون مختلفا عما هو في قاعدة البيانات ، يتحدد هذا على الطريقة التي استخدمتها في تخطيط قاعدة بياناتك وتوزيع الجداول والحقول فيها ، ستتضح الصورة من هذا لاحقا إن شاء الله .</b><b></b></p>
<p><b></b></p>
<p><b>وبالنسبة للعلاقات بين الجداول ، فهناك ما يدعى بالـ </b><b>NavigationProperties</b><b> ، وهي تمثيل للجدول المرتبط بالجدول الحالي ، فلو كان لدينا جدول اب به حقل مرتبط بالجدول الابن ، فإن الحقل الموجود في الجدول الاب لن يظهر بل سيظهر بدل عنه مباشرة خاصية ابحار </b><b>NavigationProperty</b><b> للوصول إلى البيانات المرتبطه ، هذا الامر سيتضح اكثر باخذ مثال فلا تقلق نفسك كثيرا .</b></p>
<p><b></b></p>
<p><b>ميزة اخرى في هذه التقنية ، لو أنك قد استخدمت </b><b>LINQtoSQL</b><b> لكنت قد اعجبت بالـ </b><b>O/R Designer</b><b> وكيف يحول الجداول والـ </b><b>Stored Procedures</b><b> الخاصة بقاعدة بيانات من نوع </b><b>SQL Server</b><b> مباشرة إلى كائنات برمجية : فئات وطرق </b><b>Classes,Methods</b><b> &#8230; الخ ويصبح بإمكانك استخدام </b><b>LINQ</b><b> مباشرة في الاستعلام عن البيانات وتعديلها واضافتها وحذفها ،، فإنني متأكد من اغرامك بها ولحسن الحظ فيوجد لدينا ايضا ما يدعى بالـ </b><b>ADO.NET Entity Model</b><b> ليحاكي الجداول ويقوم بتوليد كل شيء نيابه عنك .</b></p>
<p><b></b></p>
<p><b>تطبيق عملي على هذه التقنية :</b></p>
<p><b>قم بإنشاء مشروع جديد ، اضف إليه عنصرا جديدا من النوع </b><b>ADO.NET entity Data Model</b><b> وسمه بالإسم </b><b>NorthwindEntityModel</b><b> </b><b>مثلا ، سيظهر لك معالج اول صفحاته تسألك عن طريقة انشاء الـكيان </b><b>Entity</b><b> هل هي من قاعدة بيانات </b><b>Generate From Database</b><b> ام نموذج فارغ </b><b>Empty Model</b><b> . الاول يكون افضل في حالة كونك ترغب في عمل نموذج مطابق لقاعدة البيانات ، اما الخيار الآخر ، فهو يترك لك حرية تصميم الـ </b><b>Conceptual Model</b><b> بنفسك ثم تربطة بقاعدة البيانات وذلك عندما ترغب في تصممي نموذج هيكل بناؤه مختلف عن قاعدة البيانات . </b></p>
<p><b></b></p>
<p><b>في حالتنا نختار الخيار الاول ، ثم نتوجه إلى الخطوة التالية وهي تحديد قاعدة البيانات المصدر ، وقد تتفاجأ هنا ايضا بأن نوع قاعدة البيانات المصرح بها هو </b><b>SQL Server</b><b> فقط حتى هذا الوقت – على الاقل لدي – على أمل ان يدعم هذا المعالج قواعد البيانات الاخرى كالـ </b><b>Dataset</b><b> تماما . ساختار هنا قاعدة البيانات </b><b>Northwind</b><b> . </b></p>
<p><b></b></p>
<p><b>الخطوة التالية هي تحديد عناصر قاعدة البيانات التي تود تمثيلها ، فستجد كل الجداول </b><b>Tables</b><b> ، استعلامات العرض </b><b>Views</b><b> ، الاجراءات المخزنة </b><b>Stored Procedures</b><b> . في حالتنا ، نختار الجداول </b><b>Products,Orders,OrderDetails</b><b> ثم ننهي المعالج .</b></p>
<p><b></b></p>
<p><b>الآن ستظهر لك نافذة مصمم كيان البيانات </b><b>Data entity Designer</b><b> تمثيل للجداول التي حددناها سابقا . الآن قم بالتمعن في تلك الكائنات ، ستجد اولا ان العلاقات بين الجداول – عفواً اقصد الفئات ! – موضح بشكل جميل جدا ، وكذلك نوع هذه العلاقة ( واحد لواحد </b><b>One to One</b><b> ، واحد لمتعدد </b><b>One to Many</b><b> ، الخ ) </b><b></b><b>كما بالشكل التالي :</b></p>
</p>
<p><img src="http://vb4arab.com/vb/uploaded/486/01248153621.png" width="509" height="322" /> </p>
<p><b>المخطط الذي أمامك يتكون من مجموعة كتل بيانات </b><b>entities</b><b> ، الجزء السفلي من كل </b><b>entity</b><b> يحتوي على الـ </b><b>Navigation Properties</b><b> &quot;خصائص التنقل &quot; تساعدنا على التعامل مع الفئات المرتبطة بعلاقات </b><b>Relation </b><b>فيما بينها – تمثيل لعلاقات قاعدة البيانات . </b></p>
<p><b></b></p>
<p><b>النافذة </b><b>Model Browser</b><b> تساعدك على تصفح وجهي العملة : النموذج </b><b>Model</b><b> ومخزن البيانات – قاعدة البيانات .</b></p>
<p><b></b></p>
<p><b>الان نغلق هذه النافذة ونتوجه إلى النافذة </b><b>form1</b><b> – او كما سميتها لدي </b><b>MainForm</b><b> ، وضع بها اداة </b><b>DataGridView</b><b> حتى نختبر بعض العمليات في عرض البيانات عليها ، في محرر الاكواد تحديد الحدث </b><b>Form_Load</b><b> اكتب كودا مثل :</b></p>
</p>
<table border="1" cellspacing="0" cellpadding="2" width="500">
<tbody>
<tr>
<td dir="ltr" valign="top" width="500">
<div class="code"><font color="#808080">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">Bill</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#000000">Entities</font><font color="#808080">              </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Me</font><font color="#000000">.DataGridView1.DataSource</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">Bill.Orders</font> </div>
</td>
</tr>
</tbody>
</table>
<p><b>الفئة </b><b>Entities</b><b> هي التي تحضن كل الفئات الاخرى المولدة من ال </b><b>NorthwindEntityModel</b><b> ويمكن تغيير اسمها من الخلال الخاصية </b><b>EntityContainerName</b><b> في الـ </b><b>Entity Designer</b><b>. </b></p>
<p><b></b></p>
<p><b>الآن الباب مفتوح أمامك للقيام بالكثير من الأمور ، نبدأ اولا بإظهار بيانات محددة في الـ </b><b>DataGrid</b><b> كما يلي :</b></p>
<table border="1" cellspacing="0" cellpadding="2" width="500">
<tbody>
<tr>
<td dir="ltr" valign="top" width="500">
<div class="code"><font color="#808080">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">Bill</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#000000">Entities</font><font color="#808080">              </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">SpecialOrders</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">From</font><font color="#808080">&#160;</font><font color="#000000">x</font><font color="#808080">&#160;</font><font color="#0000ff">In</font><font color="#808080">&#160;</font><font color="#000000">Bill.Orders</font><font color="#808080">&#160;</font><font color="#000000">_</font><font color="#808080">              <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">Where</font><font color="#808080">&#160;</font><font color="#000000">x.OrderID</font><font color="#808080">&#160;</font><font color="#000000">&gt;</font><font color="#808080">&#160;</font><font color="#800000">11000</font><font color="#808080">&#160;</font><font color="#000000">_</font><font color="#808080">              <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Select</font><font color="#808080">&#160;</font><font color="#000000">x.OrderID,</font><font color="#808080">&#160;</font><font color="#000000">x.OrderDate,</font><font color="#808080">&#160;</font><font color="#000000">x.ShipCity</font><font color="#808080">              </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Me</font><font color="#000000">.DataGridView1.DataSource</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">SpecialOrders.ToList</font> </div>
</td>
</tr>
</tbody>
</table>
<p><b>حيث قمنا بعمل استعلام </b><b>LINQ</b><b> بالاسم </b><b>SpecialOrders</b><b> حددنا فيه معيار ان يكون الحقل </b><b>OrderID</b><b> اكبر من 11000 وقمنا فيه بتحديد عرض الحقول </b><b>OrderID,OrderDate,ShipCity</b><b> .</b></p>
<p><b></b></p>
<p><b>الآن يجب ان نفهم اكثر بناء الفئات ، جرب استكشفات اعضاء الكائن </b><b>Bill</b><b> في الكود السابق ، ستجد ان هناك فئات تمثل الجداول المختلفة فضلا عن طرق مثل الطريقة </b><b>AddToXXX</b><b> والتي قد تكون </b><b>AddToOrders</b><b> والجداول الاخرى ،تسهل علينا اضافة كائن جديد إلى الفئة </b><b>Orders</b><b> وبالتالي الجدول </b><b>Orders</b><b> ! بهذه الطريقة تختصر كتابة عشرات الاسطر لتمثيل الجداول إلى كائنات ووضعها في فئات </b><b>Classes</b><b> وكتابة طرق مختلفة للإضافة والتعديل والحذف &#8230; الخ ! ارتك لك استكشاف باقي الاعضاء بنفسك .</b></p>
<p><b></b></p>
<p><b>من الامور التي احبها في الـ </b><b>Entity</b><b> هي انها قابلة لاستعراض البيانات بالربط </b><b>Binding</b><b> وذلك كما يلي :</b></p>
<p><b>- </b><b>اذهب إلى القائمة </b><b>Data</b><b> واختر منها </b><b>Add New Data Source</b><b> ، من اول صفحة تظهر لك تختار مصدر البيانات ليكون </b><b>Object</b><b> بدلا من </b><b>Database</b><b> .</b><b></b></p>
<p><b>- </b><b>في الصفحة التالية تظهر لك الفئات الفرعية </b><b>Orders,Products</b><b> لتصبح قادرا على اضافتها لتكون </b><b>Datasource</b><b> في مشروعك ! نفترض اضافة الفئة </b><b>Products</b><b> .</b><b></b></p>
<p><b>- </b><b>ستجد في النافذة </b><b>Datasources</b><b> انه قد تم اضافة تلك الفئة واي فئة مرتبطة ( أي علاقة بين الجداول المعنية ) كما بالشكل التالي :</b><b></b></p>
<p><img src="http://vb4arab.com/vb/uploaded/486/11248153621.png" /> </p>
<p><b>الآن جرب ان تذهب إلى مصمم النافذة </b><b>MainForm</b><b> وقم بسحب الفئة </b><b>Products</b><b> إلى النافذة </b><b>MainForm</b><b> ، ستحتاج بعدها فقط إلى اضافة سطر واحد كهذا :</b></p>
</p>
<table border="1" cellspacing="0" cellpadding="2" width="500">
<tbody>
<tr>
<td dir="ltr" valign="top" width="500">
<div class="code"><font color="#808080">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Me</font><font color="#000000">.ProductsBindingSource.DataSource</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">Bill.Products</font> </div>
</td>
</tr>
</tbody>
</table>
<p><b>شغل برنامجك لتجد ان البيانات ظهرت كما يجب .</b></p>
<p><b></b></p>
<p><b>يمكنك الاستعلام في تلك البيانات بالطريقة التالية :</b><b></b></p>
<table border="1" cellspacing="0" cellpadding="2" width="500">
<tbody>
<tr>
<td dir="ltr" valign="top" width="500">
<div class="code"><font color="#808080">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">Bill</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#000000">Entities</font><font color="#808080">              </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">SpecialProducts</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">From</font><font color="#808080">&#160;</font><font color="#000000">myOrder</font><font color="#808080">&#160;</font><font color="#0000ff">In</font><font color="#808080">&#160;</font><font color="#000000">Bill.Products</font><font color="#808080">&#160;</font><font color="#000000">_</font><font color="#808080">              <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">Where</font><font color="#808080">&#160;</font><font color="#000000">myOrder.CategoryID</font><font color="#808080">&#160;</font><font color="#000000">&gt;</font><font color="#808080">&#160;</font><font color="#800000">6</font><font color="#808080">&#160;</font><font color="#000000">_</font><font color="#808080">              <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Select</font><font color="#808080">&#160;</font><font color="#000000">myOrder</font><font color="#808080">              </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0000ff">Me</font><font color="#000000">.ProductsBindingSource.DataSource</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">SpecialProducts</font> </div>
</td>
</tr>
</tbody>
</table>
<p><b>ويتضح لنا سهوله الاستعلام في البيانات بإستخدام </b><b>LINQ</b><b> مباشرة .</b></p>
<p><b></b></p>
<p><b>من ميزات اطار كتل البيانات </b><b>Entity Framework</b><b> ، هو انك تستطيع التحكم بكمية البيانات المنقولة بسهولة ، فعندما نحتاج إلى تعديل على جدول واحد فقط دون الجداول الفرعية المرتبطة به فإننا نستدعي الجدول الأساسي فقط ، لتوضيح هذا سأسرد مثالا سريعا : </b></p>
<p><b>الجدول </b><b>Products</b><b> مرتبط بالجدول </b><b>Orders</b><b> ، فيوجد بينهما علاقة واحد لمتعدد </b><b>One-to-Many</b><b> فلو قمنا بإسناد الجدول </b><b>Products</b><b> مثلا إلى كائن </b><b>BindingSource</b><b> ليكون هو مصدر البيانات </b><b>DataSource</b><b> فيه ، فنحن مخيرون هل نضيف الجدول </b><b>Orders</b><b> ايضا ام لا ، فإذا كنا نحتاجه سنكتب اسم الجدول </b><b>Products</b><b> متبوعا بالطريقة </b><b>Include</b><b> ونعطيها اسم الجدول </b><b>Orders</b><b> ليتم تحميل بيانات الجدولين معا ، هذه الطريقة مهمة جدا في تخفيف الضغط على مزودات البيانات والشبكة التي يعمل عليها التطبيق ، فبدل ان تقوم بتحميل البيانات وانت لا تحتاج اليها اساسا ، يمكنك ان تقوم بتحميل البيانات التي تحتاج اليها فقط وتقلل بالتالي من الاعباء المحتملة على مزود البيانات </b><b>Data Server</b><b> في الشبكة </b><b>Network</b><b> .</b></p>
<p><b></b></p>
<p><b>بهذا نكون قد انتهينا من الحديث بشكل مختصر اتمنى انني قد وفقت في عرضه عليكم ، بإنتظار تعليقاتكم على مدونتي . </b></p>
Posted in برمجة قواعد البيانات ADO.NET, تقنية net. Tagged: ado.net, ado.net entity framework <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/131/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=131&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/07/22/%d9%87%d9%84-%d8%aa%d8%b9%d9%84%d9%85-%d9%85%d8%a7-%d9%87%d9%88-%d8%a7%d8%b7%d8%a7%d8%b1-%d8%b9%d9%85%d9%84-%d9%83%d9%8a%d8%a7%d9%86-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-entity-framework/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://vb4arab.com/vb/uploaded/486/01248153621.png" medium="image" />

		<media:content url="http://vb4arab.com/vb/uploaded/486/11248153621.png" medium="image" />
	</item>
		<item>
		<title>هل استخدم Dataset ام LINQtoSQL ؟</title>
		<link>http://alnabhani.wordpress.com/2009/06/27/%d9%87%d9%84-%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d9%85-dataset-%d8%a7%d9%85-linqtosql-%d8%9f/</link>
		<comments>http://alnabhani.wordpress.com/2009/06/27/%d9%87%d9%84-%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d9%85-dataset-%d8%a7%d9%85-linqtosql-%d8%9f/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 06:07:33 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة قواعد البيانات ADO.NET]]></category>
		<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[dataset]]></category>
		<category><![CDATA[linqtosql]]></category>
		<category><![CDATA[ntier]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2009/06/27/%d9%87%d9%84-%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d9%85-dataset-%d8%a7%d9%85-linqtosql-%d8%9f/</guid>
		<description><![CDATA[مع كثر هذه التقنيات ، يقل العبئ البرمجي والذهني على البرمج ، لكن الضريبة هي تعلم تقنية جديدة كل يوم ومعرفة اي تقنية يجب ان يستخدم في الحالة التي يواجهها ، خصوصا ان هناك تقنيات كثيرة تصب في نفس الجانب ولكن مع اختلاف الوظيفة والاداء والغرض الاساسي لها . 
من هذه الامور هو استخدام Dataset [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=127&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>مع كثر هذه التقنيات ، يقل العبئ البرمجي والذهني على البرمج ، لكن الضريبة هي تعلم تقنية جديدة كل يوم ومعرفة اي تقنية يجب ان يستخدم في الحالة التي يواجهها ، خصوصا ان هناك تقنيات كثيرة تصب في نفس الجانب ولكن مع اختلاف الوظيفة والاداء والغرض الاساسي لها . </p>
<p>من هذه الامور هو استخدام Dataset او LINQtoSQL ، فبعد ظهور LINQtoSQL صار علينا التفريق في استخدامهما ومعرفة الحالات التي تقتضي افضلية ايهما ! </p>
<p>في الحقيقة هذا يعتمد على السيناريوهات التي تود تحقيقها ، وانت حر بطبيعة الحال في السيناريو الذي تريد . </p>
<p>بالنسبة للـ Dataset :   <br />- الـ Dataset سهل التعريف ، والتسلسل Serialize ، ويسهل فصل الكود فيها عن تصميمه في المشاريع المتعددة الطبقات خصوصا بما يتعلق بالـ TableAdapter المضمنه فيه .    <br />- الـ Dataset يحتوي على متتبع للتغيرات التي تطرأ على البيانات المضمنه فيه، ويدعم التغيير دفعه واحده Batch Editing وكذا بالنسبة للتصفيه والعرض ، كما انه يتعامل بشكل تلقائي مع العلاقات المركبة Complex Relationships .    <br />- يسهل استخدام Dataset عندما نرغب في عمل ربط بيانات DataBinding بشكل متقدم ومعقد .    <br />- يصعب استخدام Dataset عندما نرغب بعمل بعمل عمليات تحقق متقدمة على البيانات .    <br />- يجب تجنب استخدام Dataset عندما تقوم ببناء تطبيق موزع ليس كل العملاء Clients فيه مبنية على net. </p>
<p>بالنسبة لـ LINQtoSQL : </p>
<p>-&#160; يقدم لك LINQtoSQL دعم تحكم كامل بالتحقق Validation, السلوك Behavior ، منطق الأعمال BusinessLogic ، كما انها سهله التوريث للفئات الاخرى ، هذا يعني امكانيه عمل طبقات ام وطبقات مشتقة للاعمال بكل سهولة .   <br />- يمكن عمل تسلسل Serialization لفئات LINQtoSQL على شكل مصفوفات Arrays لغير عملاء net.     <br />- بمجرد ايقاف الاتصال بين LINQtoSQL والـ DataContext ، تكون عملية ال Databinding وتعقب التغييرات على البيانات عملية صعبة ويجب عليك القيام بكل ذلك بنفسك !</p>
Posted in برمجة قواعد البيانات ADO.NET, تقنية net. Tagged: dataset, linqtosql, ntier <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/127/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=127&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/06/27/%d9%87%d9%84-%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d9%85-dataset-%d8%a7%d9%85-linqtosql-%d8%9f/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>تقنية Microsoft Azure للحوسبة السحابية !</title>
		<link>http://alnabhani.wordpress.com/2009/02/12/%d8%aa%d9%82%d9%86%d9%8a%d8%a9-microsoft-azure-%d9%84%d9%84%d8%ad%d9%88%d8%b3%d8%a8%d8%a9-%d8%a7%d9%84%d8%b3%d8%ad%d8%a7%d8%a8%d9%8a%d8%a9/</link>
		<comments>http://alnabhani.wordpress.com/2009/02/12/%d8%aa%d9%82%d9%86%d9%8a%d8%a9-microsoft-azure-%d9%84%d9%84%d8%ad%d9%88%d8%b3%d8%a8%d8%a9-%d8%a7%d9%84%d8%b3%d8%ad%d8%a7%d8%a8%d9%8a%d8%a9/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 18:37:49 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[تقنية عامة]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[حوسبة سحابية]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2009/02/12/%d8%aa%d9%82%d9%86%d9%8a%d8%a9-microsoft-azure-%d9%84%d9%84%d8%ad%d9%88%d8%b3%d8%a8%d8%a9-%d8%a7%d9%84%d8%b3%d8%ad%d8%a7%d8%a8%d9%8a%d8%a9/</guid>
		<description><![CDATA[بدأت تظهر في السنوات الاخيرة تقنية تدعىى بالحوسبة السحابية Cloud Computing ، ولا بد اولا من التعرف على مفهوم الحوسبة السحابية ، وقد استعنت في ذلك بموقع ويكيبيديا العربي :
الحوسبة السحابية هي تكنولوجيا تعتمد على نقل المعالجة ومساحة التخزين الخاصة بالحاسوب إلى ما يسمى السحابة و هي جهاز خادم يتم الوصول اليه عن طريق الانترنت. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=124&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>بدأت تظهر في السنوات الاخيرة تقنية تدعىى بالحوسبة السحابية Cloud Computing ، ولا بد اولا من التعرف على مفهوم الحوسبة السحابية ، وقد استعنت في ذلك بموقع ويكيبيديا العربي :</p>
<p>الحوسبة السحابية هي تكنولوجيا تعتمد على نقل المعالجة ومساحة التخزين الخاصة بالحاسوب إلى ما يسمى السحابة و هي جهاز خادم يتم الوصول اليه عن طريق الانترنت. بهذا تتحول برامج تكنولوجيا المعلومات من منتجات إلى خدمات. من أهم فوائد هذه التكنولوجيا هي إبعاد مشاكل صيانة وتطوير برامج تقنية المعلومات عن الشركات المستخدمة لها و بالتالي يتركز مجهود الجهات المستفيدة على استخدام هذه الخدمات فقط.</p>
<p>تعتمد البنية التحتية للحوسبة السحابية على مراكز البيانات المتطورة و لتي تقدم مساحات تخزين كبيرة للمستخدمين كما انها توفر بعض البرامج كخدمات للمستخدمين. و هي تعتمد في ذلك على الإمكانيات التي وفرتها تقنيات ويب 2.0.</p>
<p>لمزيد من المعلومات حول هذا المفهوم راجع الرابط التالي :</p>
<p>http://en.wikipedia.org/wiki/Cloud_computing</p>
<p>وقد قدمت شركة مايكروسوفت اطار العمل Azure Service Platform ، وهو عبارة عن نظام تشغيل للخدمات السحابية Cloud Services يقوم بحضن ، خدمة ، ادارة ، تشغيل الخدمات العاملة بهذه التقنية . ويمكن بناء تطبيقات وخدمات هذه التقنية ، يمكن استخدام Visual Studio 2008 ولكنها ستكون مدعومة بشكل افضل في النسخة القادمة 2010 .</p>
<p>تدعم هذه التقنية مجموعة من البروتوكولات كـ SOAP,REST,XML وغيرها ، لكن الأجمل في الموضوع ان Windows Azure سيقدم الدعم لبيئات وخدمات مايكروسوفت وغير مايكروسوفت مما يدعو للابتهاج بهذا الخصوص .</p>
<p>ما الفائدة المرجوه من استخدام تقنية Azure ؟</p>
<p>سيمكنك استخدام Windows Azure من اضافة خدمات ويب Web services الى تطبيقاتك الحالية بشكل اسهل ، وبناء وتعديل وتوزيع التطبيقات عبر شبكة ويب بأقل قدر ممكن من الموارد المطلوبة في اجهزة العملاء ، وكذلك سهوله بناء وتعديل خدمات الويب Web Services بسهوله وسرعه وأقل تكاليف ، وتقليل تكاليف مواصفات العتاد والدعم التقني المقدم للعملاء حيث ان كل العمليات الحسابية والتخزينية ستتم على مراكز بيانات متطورة !</p>
<p>الميزة المهمه في هذه التقنية ان تنفيذ التطبيق يتم في السحابة وليس في جهاز المستخدم ، بالتالي تقل المخاطر الامنية وموارد العتاد المطلوبة وغيرها .</p>
<p>للتعرف بشكل افضل واوضح عن هذه التقنية يمكنك زيارة صفحتها الرسمية من الرابط التالي :</p>
<p>http://www.microsoft.com/azure/windowsazure.mspx</p>
Posted in تقنية net., تقنية عامة Tagged: azure, cloud computing, حوسبة سحابية <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=124&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/02/12/%d8%aa%d9%82%d9%86%d9%8a%d8%a9-microsoft-azure-%d9%84%d9%84%d8%ad%d9%88%d8%b3%d8%a8%d8%a9-%d8%a7%d9%84%d8%b3%d8%ad%d8%a7%d8%a8%d9%8a%d8%a9/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>فيديو : دعم WPF Bussiness Applications في Visual Studio 2010</title>
		<link>http://alnabhani.wordpress.com/2009/02/06/%d9%81%d9%8a%d8%af%d9%8a%d9%88-%d8%af%d8%b9%d9%85-wpf-bussiness-applications-%d9%81%d9%8a-visual-studio-2010/</link>
		<comments>http://alnabhani.wordpress.com/2009/02/06/%d9%81%d9%8a%d8%af%d9%8a%d9%88-%d8%af%d8%b9%d9%85-wpf-bussiness-applications-%d9%81%d9%8a-visual-studio-2010/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 08:46:22 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[vs2010]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[wpf data binding]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2009/02/06/%d9%81%d9%8a%d8%af%d9%8a%d9%88-%d8%af%d8%b9%d9%85-wpf-bussiness-applications-%d9%81%d9%8a-visual-studio-2010/</guid>
		<description><![CDATA[اذا كنت تتابع اخر الاحداث المايكروسوفتيه واخر التطورات التي تظهر في معامل ريدموند ، فقد تكون سمعت بالميزات الجديدة التي ستظهر في فيجوال ستوديو 2010 والتي من بينها دعم خاصية السحب والالقاء Drag-Drop لمصادر البيانات على نوافذ WPF والتي تعني سهوله عمل تطبيقات ال Bussiness والتطبيقات التي تعتمد على قواعد البيانات وربط مصادر البيانات بالنوافذ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=123&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>اذا كنت تتابع اخر الاحداث المايكروسوفتيه واخر التطورات التي تظهر في معامل ريدموند ، فقد تكون سمعت بالميزات الجديدة التي ستظهر في فيجوال ستوديو 2010 والتي من بينها دعم خاصية السحب والالقاء Drag-Drop لمصادر البيانات على نوافذ WPF والتي تعني سهوله عمل تطبيقات ال Bussiness والتطبيقات التي تعتمد على قواعد البيانات وربط مصادر البيانات بالنوافذ بإستخدام تقنية الـ Data Binding دون عناءبمجرد سحب مصدر البيانات الى النافذه المراده &#8211; كما هو حاصل في تطبيقات Windows Applications .</p>
<p>لمشاهده حوار حول هذا الموضوع ، يمكنك زيارة الصفحة التالية عبر القناة التاسعة لـ MSDN :</p>
<p><a href="http://channel9.msdn.com/posts/funkyonex/Drag-Drop-Data-Binding-Comes-to-WPF-in-Visual-Studio-2010/">http://channel9.msdn.com/posts/funkyonex/Drag-Drop-Data-Binding-Comes-to-WPF-in-Visual-Studio-2010/</a></p>
Posted in تقنية net. Tagged: vs2010, wpf, wpf data binding <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=123&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/02/06/%d9%81%d9%8a%d8%af%d9%8a%d9%88-%d8%af%d8%b9%d9%85-wpf-bussiness-applications-%d9%81%d9%8a-visual-studio-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>مكتبة لعمل تقارير بـ MS Word 2007</title>
		<link>http://alnabhani.wordpress.com/2009/01/16/%d9%85%d9%83%d8%aa%d8%a8%d8%a9-%d9%84%d8%b9%d9%85%d9%84-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-%d8%a8%d9%80-ms-word-2007-2/</link>
		<comments>http://alnabhani.wordpress.com/2009/01/16/%d9%85%d9%83%d8%aa%d8%a8%d8%a9-%d9%84%d8%b9%d9%85%d9%84-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-%d8%a8%d9%80-ms-word-2007-2/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 10:18:18 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>
		<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[ms word2007]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[تقارير]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/?p=118</guid>
		<description><![CDATA[مكتبة لعمل تقارير بـ MS Word 2007
التقارير Reports هي المخرج الاساسي والاهم في تطبيقات قواعد البيانات ، ومن هنا تأتي أهمية التقارير ، وعلى المبرمج او المطور الاهتمام بالتقرير شكلا ومضمونا بطريقة تجعل المستخدم النهائي للتقرير يجد البيانات في منتهى السهولة ويستطيع التعامل معها، ففي بعض الاحيان قد لا يكتفي زبونك بنسخه مطبوعة من التقرير [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=118&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>مكتبة لعمل تقارير بـ MS Word 2007</p>
<p>التقارير Reports هي المخرج الاساسي والاهم في تطبيقات قواعد البيانات ، ومن هنا تأتي أهمية التقارير ، وعلى المبرمج او المطور الاهتمام بالتقرير شكلا ومضمونا بطريقة تجعل المستخدم النهائي للتقرير يجد البيانات في منتهى السهولة ويستطيع التعامل معها، ففي بعض الاحيان قد لا يكتفي زبونك بنسخه مطبوعة من التقرير وانما تحتاج الى نسخه الكترونية ، البعض يرى الافضلية ان تكون على هيئة PDF والبعض قد يرى تصديرها بصيغة MS Word,MS Excel افضل خصوصا ان Microsoft Excel يوفر لك امكانيات احصائية وحسابية كبيرة تساعدك في احيان عديدة جداً. وقد يرى البعض ان جعل الصورة النهائية للتقرير بهيئة Word سيكون افضل من الناحية الشكلية خصوصا ، كما ان تصميم تقرير على هيئة Microsoft Word سيكون اسهل من استخدام برامج مخصصة للتقارير في بعض الاحيان كـ Crystal Reports او اداة التقارير الموجودة في Visual Studio نظرا لسهولة عملية التصميم وإمكانيات التنسيق والتنظيم الكبيرة الموجودة في برنامج كـ Microsoft Word 2007 .</p>
<p>وجدت مكتبة صغيرة  وهي تسهل عملية كتابة التقارير بصيغة Word2007 ( docx) وذلك انها تغنيك عن التعامل مع أي مكتبة من مكتبات برنامج Word بل لا تحتاج اصلا إلى وجوده لتقوم بتوليد تقرير بهيئة Word ، والسر في ذلك ان هيئة ملفات Word2007 ما هي الا عبارة عن ملف مضغوط بصيغة zip يحتوي على عدة ملفات xml وبالتالي فالعملية لا تعدو انشاء قالب ببرنامج Word2007 ثم استخدام هذا القالب في كل مره ووضع البيانات عليه !</p>
<p><img src="http://alnabhani.wordpress.com/wp-admin/embedword/s2.PNG" alt="s2.PNG" width="609" height="593" /></p>
<p><img src="http://alnabhani.wordpress.com/wp-admin/embedword/s1.PNG" alt="s1.PNG" width="609" height="593" /></p>
<p>لتحميل المكتبة من هنا:<br />
<a href="http://www.zshare.net/download/54213236ceabcdfb/">http://www.zshare.net/download/54213236ceabcdfb/</a></p>
<p>المصدر :</p>
<p><a href="http://www.codeproject.com/KB/printing/embedword.aspx">http://www.codeproject.com/KB/printing/embedword.aspx</a></p>
Posted in برمجة التقارير, تقنية net. Tagged: ms word2007, report, تقارير <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/118/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=118&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/01/16/%d9%85%d9%83%d8%aa%d8%a8%d8%a9-%d9%84%d8%b9%d9%85%d9%84-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-%d8%a8%d9%80-ms-word-2007-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://alnabhani.wordpress.com/wp-admin/embedword/s2.PNG" medium="image">
			<media:title type="html">s2.PNG</media:title>
		</media:content>

		<media:content url="http://alnabhani.wordpress.com/wp-admin/embedword/s1.PNG" medium="image">
			<media:title type="html">s1.PNG</media:title>
		</media:content>
	</item>
		<item>
		<title>مايكروسوفت تعلن عن بنائها لـ Visual Studio 2010 و .Net Framework 4.0</title>
		<link>http://alnabhani.wordpress.com/2008/12/13/%d9%85%d8%a7%d9%8a%d9%83%d8%b1%d9%88%d8%b3%d9%88%d9%81%d8%aa-%d8%aa%d8%b9%d9%84%d9%86-%d8%b9%d9%86-%d8%a8%d9%86%d8%a7%d8%a6%d9%87%d8%a7-%d9%84%d9%80-visual-studio-2010-%d9%88-net-framework-40/</link>
		<comments>http://alnabhani.wordpress.com/2008/12/13/%d9%85%d8%a7%d9%8a%d9%83%d8%b1%d9%88%d8%b3%d9%88%d9%81%d8%aa-%d8%aa%d8%b9%d9%84%d9%86-%d8%b9%d9%86-%d8%a8%d9%86%d8%a7%d8%a6%d9%87%d8%a7-%d9%84%d9%80-visual-studio-2010-%d9%88-net-framework-40/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 07:22:47 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[.net 4.0]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[vs2010]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2008/12/13/%d9%85%d8%a7%d9%8a%d9%83%d8%b1%d9%88%d8%b3%d9%88%d9%81%d8%aa-%d8%aa%d8%b9%d9%84%d9%86-%d8%b9%d9%86-%d8%a8%d9%86%d8%a7%d8%a6%d9%87%d8%a7-%d9%84%d9%80-visual-studio-2010-%d9%88-net-framework-40/</guid>
		<description><![CDATA[اعلنت مايكروسوفت قبل فترة عن بنائها لإصدارين جديدين للشقيقين المترابطين Visual Studio و .Net Framework وهما 2010 و الاصدار الرابع . 
وسأحاول تغطية الجديد في كل منهما على حدة :
.Net framework 4.0 :
· تحتوي الاصدارة القادمة من اطار العمل ، على اصدارات محدثه من WCF,WF والتي تدعم المزيد في web 2.0
· يتوقع ان يتطور ويتحسن [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=111&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>اعلنت مايكروسوفت قبل فترة عن بنائها لإصدارين جديدين للشقيقين المترابطين Visual Studio و .Net Framework وهما 2010 و الاصدار الرابع . </p>
<p>وسأحاول تغطية الجديد في كل منهما على حدة :</p>
<p>.Net framework 4.0 :</p>
<p>· تحتوي الاصدارة القادمة من اطار العمل ، على اصدارات محدثه من WCF,WF والتي تدعم المزيد في web 2.0</p>
<p>· يتوقع ان يتطور ويتحسن اداء WCF,WF بعشر مرات عن الاصدار 3.5 على الاقل !</p>
<p>· البرمجة المتوازية Parallel Programming : سيتطور دعم المعالجات متعددة الانوية من خلال وجود تقنيات كـ PLINQ و Task Parallel Library and Coordination Data Structures.</p>
<p>· ستدعم لغة الترميز XAML تقنية WCF ابتداءا من الاصدار القادم .</p>
<p>هناك العديد من التطويرات المرتقبة على التقنيات الحديثة كـ WF,WCF وغيرها ، ابرز هذه التطويرات تركز على تحسين الاداء</p>
<p>Visual Studio 2010 CodeName : Rosario :</p>
<p><img height="341" src="http://i.cmpnet.com/infoweek/galleries/automated/130/msdnshot_full.jpg" width="510" /> </p>
<p>اختارت مايكروسوفت الاسم الكودي روساريو ليكون هو الملازم لـ VS لحين صدور النسخه النهائية منه . </p>
<p>ومن ناحية بناء التطبيقات :</p>
<p>· تعمل مايكروسوفت على جعل هذه المنصه العملاقه منصة تجمع كل من له دخل في تطوير الحلول التقنية البرمجية ابتداءا من المبرمج والمطور وانتهاءا بمدير دورة حياة الحل Application LifeCycle Manager . </p>
<p>· ومن التطويرات الخاصه ببناء التطبيقات والحلول هو دعم النسخه 2.2.1 من UML وانشاء تكامل بين OMG و UML</p>
<p>· المزيد من الدعم لقوالب برنامج Microsoft Visio . </p>
<p>· ذلك المزيد من الدعم للهندسة العكسية ، </p>
<p>· وهناك ايضا مايعرف بمستكشف الوحدات Model Explorer وهو شبيه بـ Solution Explorer لكنه يقوم باستكشاف كائنات المشروع بنمط UML . </p>
<p>· كذلك يتمتع الاصدار القادم بميزة انشاء Sequence Diagram من الكود الموجود مباشرة بضغطة زر !</p>
<p>· ايضا دعم البرمجة المتوازية Parallel Programming وذلك يتجلى في دعمها اثناء عملية التقنيح Debug وغيرها من العمليات الخاصه ببناء المشروع .</p>
<p>ومن ناحية التجريب Testing وجودة البرامج Quality :</p>
<p>· يقدم Rosario خدمة جديدة تسمى Test Impact view والتي تقوم بمراقبة اداء كود معين فقط .</p>
<p>· لامزيد من شائبة no-repro ! </p>
<p>· هناك اداة جديدة تسمى Microsoft Test Runner Tool وهي اداة منفصلة تساعد المختبرين Testers على اختبار التطبيق بشكل سهل وفعال .</p>
<p>المصادر : </p>
<p><a href="http://www.vikasgoyal.net/net/What's%20New%20in%20Visual%20Studio%202010%20Rosario.aspx">http://www.vikasgoyal.net/net/What&#8217;s%20New%20in%20Visual%20Studio%202010%20Rosario.aspx</a></p>
<p><a href="http://www.vikasgoyal.net/net/What's%20New%20in%20.NET%204.0.aspx">http://www.vikasgoyal.net/net/What&#8217;s%20New%20in%20.NET%204.0.aspx</a></p>
<p><a href="http://www.microsoft.com/visualstudio/2010/overview.mspx">http://www.microsoft.com/visualstudio/2010/overview.mspx</a></p>
<p>ايضا يمكنكم زيارة صفحة Visual Studio 2010 على موقع Channel9 :</p>
<p><a href="http://channel9.msdn.com/visualstudio/#Page=9">http://channel9.msdn.com/visualstudio/#Page=9</a></p>
<p>تحياتي لكم</p>
Posted in تقنية net. Tagged: .net 4.0, beta, vs2010 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=111&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2008/12/13/%d9%85%d8%a7%d9%8a%d9%83%d8%b1%d9%88%d8%b3%d9%88%d9%81%d8%aa-%d8%aa%d8%b9%d9%84%d9%86-%d8%b9%d9%86-%d8%a8%d9%86%d8%a7%d8%a6%d9%87%d8%a7-%d9%84%d9%80-visual-studio-2010-%d9%88-net-framework-40/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://i.cmpnet.com/infoweek/galleries/automated/130/msdnshot_full.jpg" medium="image" />
	</item>
	</channel>
</rss>