<?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/"
	>

<channel>
	<title>Class arşivleri - Dinamik Network</title>
	<atom:link href="https://dinamiknetwork.com/e/class/feed/" rel="self" type="application/rss+xml" />
	<link>https://dinamiknetwork.com/e/class/</link>
	<description>Bilişim Dünyasına Profesyonel Yaklaşım</description>
	<lastBuildDate>Wed, 25 Dec 2019 05:45:45 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.12</generator>

<image>
	<url>https://dinamiknetwork.com/wp-content/uploads/2020/01/cropped-ikon-1-1-32x32.png</url>
	<title>Class arşivleri - Dinamik Network</title>
	<link>https://dinamiknetwork.com/e/class/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>SQL Server ile C# Entity Class Oluşturma</title>
		<link>https://dinamiknetwork.com/sql-server-ile-c-entity-class-olusturma/</link>
					<comments>https://dinamiknetwork.com/sql-server-ile-c-entity-class-olusturma/#comments</comments>
		
		<dc:creator><![CDATA[CAN YILDIRMAZ]]></dc:creator>
		<pubDate>Thu, 26 Dec 2019 08:45:23 +0000</pubDate>
				<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[C# Entity Class]]></category>
		<category><![CDATA[C# Model]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Code Generator]]></category>
		<category><![CDATA[Entity]]></category>
		<category><![CDATA[ileri SQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server]]></category>
		<guid isPermaLink="false">https://dinamiknetwork.com/?p=942</guid>

					<description><![CDATA[<p>Merhabalar, SQL Server, T-SQL hakkında ilk yazımı yazıyorum. Esasında ilk başta temel yapılardan başlamayı düşünmüştüm ancak bu sefer farklı bir başlangıç yapmak istedim. Bu sebeple&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://dinamiknetwork.com/sql-server-ile-c-entity-class-olusturma/">SQL Server ile C# Entity Class Oluşturma</a> appeared first on <a rel="nofollow" href="https://dinamiknetwork.com">Dinamik Network</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhabalar,</p>
<p><strong>SQL Server</strong>, <strong>T-SQL</strong> hakkında ilk yazımı yazıyorum. Esasında ilk başta temel yapılardan başlamayı düşünmüştüm ancak bu sefer farklı bir başlangıç yapmak istedim. Bu sebeple bu yazıyı okuyan kişilerin MS-SQL hakkında temel bilgileri bildiklerini varsayıyorum.</p>
<p>Bu yazıda piyasada <strong>Code Generator</strong> olarak bilinen yapıyı kendimiz oluşturacağız. Code Generator ne demek diyecek olursanız bizim <strong>Entity</strong>&#8216;lerimizi kolayca üretmeyi sağlayan bir exedir. Entity nedir diye soracak olursanız da veritabanı üzerindeki tablolarımızın modelleridir diyebiliriz. Code Generator denen exe esasında arka tarafında birazdan yazacağımız bir SQL bloğu çalıştırmakta, sonuçlarını göstermektedir.</p>
<h2>C# Entity Class Oluşturma</h2>
<p>Evet, artık başlayalım. SQL Server&#8217;ı açalım. <strong>SQL Server</strong> verisyonum 2017 Developer Edition. Entity oluşturmak istediğim tablo da LogRecord tablosu. Aşağıdaki resimde de görebileceğiniz gibi çok olmasa da hatırı sayılabilecek alan sayısı olduğunu söylenebilir.</p>
<figure id="attachment_979" aria-describedby="caption-attachment-979" style="width: 1913px" class="wp-caption alignnone"><img wpfc-lazyload-disable="true" loading="lazy" class="size-full wp-image-979" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/MSSQLMainScreen.png" alt="MSSQL Ana Ekran" width="1913" height="1031" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/MSSQLMainScreen.png 1913w, https://dinamiknetwork.com/wp-content/uploads/2019/12/MSSQLMainScreen-768x414.png 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/MSSQLMainScreen-1536x828.png 1536w, https://dinamiknetwork.com/wp-content/uploads/2019/12/MSSQLMainScreen-850x458.png 850w, https://dinamiknetwork.com/wp-content/uploads/2019/12/MSSQLMainScreen-466x250.png 466w" sizes="(max-width: 1913px) 100vw, 1913px" /><figcaption id="caption-attachment-979" class="wp-caption-text">MSSQL</figcaption></figure>
<p>Şimdi bu kısımda SQL Server bize View&#8217;leri sayesinde yardımcı olacak. SQL Server&#8217;ın özel viewleri hakkında detaylı bilgiyi aşağıdaki linkten edinebilirsiniz.</p>
<p><a href="https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/catalog-views-transact-sql?view=sql-server-ver15">https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/catalog-views-transact-sql?view=sql-server-ver15</a></p>
<p>Şimdi önce kolonlarımızı getirtelim. Aşağıdaki sorgu bize bu konuda yardımcı olacaktır.</p>
<pre class="prettyprint lang-sql" data-start-line="1" data-visibility="visible" data-highlight="" data-caption="">SELECT * FROM sys.all_columns WHERE object_id = (SELECT OBJECT_ID ('LogRecord'))</pre>
<p>Resimde sonuçlarını da görelim.</p>
<figure id="attachment_982" aria-describedby="caption-attachment-982" style="width: 1913px" class="wp-caption alignnone"><img wpfc-lazyload-disable="true" loading="lazy" class="size-full wp-image-982" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTableColumns.png" alt="MSSQL Table" width="1913" height="1027" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTableColumns.png 1913w, https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTableColumns-768x412.png 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTableColumns-1536x825.png 1536w, https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTableColumns-850x456.png 850w, https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTableColumns-466x250.png 466w" sizes="(max-width: 1913px) 100vw, 1913px" /><figcaption id="caption-attachment-982" class="wp-caption-text">Table Columns</figcaption></figure>
<p>Artık kolonlarla ilgili olarak gerekli bilgiye sahibiz. Kolonların veri yapılarından kaynaklı olarak sahip oldukları özellikler de bu viewden bize gelmektedir. Şimdi bu tablodan bize <strong>system_type_id</strong> ve <strong>user_type_id</strong> isimli alanlar döndü. Yani aslında biz bu kolonların tiplerini de biliyoruz ama id değeri olarak biliyoruz. Bunların ne olduklarını bulabilmemiz için aşağıdaki sorgu bize yardımcı olacaktır.</p>
<p>SELECT * FROM sys.types</p>
<p>Sorgu sonucunu aşağıdaki resimde görebiliriz.</p>
<figure id="attachment_984" aria-describedby="caption-attachment-984" style="width: 1913px" class="wp-caption alignnone"><img wpfc-lazyload-disable="true" loading="lazy" class="size-full wp-image-984" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTypes.png" alt="MSSQL Data Types" width="1913" height="993" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTypes.png 1913w, https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTypes-768x399.png 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTypes-1536x797.png 1536w, https://dinamiknetwork.com/wp-content/uploads/2019/12/ListTypes-850x441.png 850w" sizes="(max-width: 1913px) 100vw, 1913px" /><figcaption id="caption-attachment-984" class="wp-caption-text">MSSQL Data Types</figcaption></figure>
<p>SQL Server üzerindeki tüm tipler ile ilgili bilgiler bu view üzerindedir. Şimdi tek yapmamız gereken sorguyu ayarlamak. Sorgumuzu parça parça yazıp geliştireceğiz. Şimdi bize lazım olan parçalar 2 view üzerinde olduğuna göre JOIN işlemi ile başlayabiliriz.</p>
<figure id="attachment_986" aria-describedby="caption-attachment-986" style="width: 1897px" class="wp-caption alignnone"><img wpfc-lazyload-disable="true" loading="lazy" class="size-full wp-image-986" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/JoinResult.png" alt="MSSQL JOIN" width="1897" height="1028" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/JoinResult.png 1897w, https://dinamiknetwork.com/wp-content/uploads/2019/12/JoinResult-768x416.png 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/JoinResult-1536x832.png 1536w, https://dinamiknetwork.com/wp-content/uploads/2019/12/JoinResult-850x461.png 850w" sizes="(max-width: 1897px) 100vw, 1897px" /><figcaption id="caption-attachment-986" class="wp-caption-text">MSSQL JOIN</figcaption></figure>
<p>Şimdi sıra ihtiyacımız olan alanlar ile bu sorguyu düzenlemekte. Sorguyu aşağıdaki gibi düzenleyelim.</p>
<figure id="attachment_948" aria-describedby="caption-attachment-948" style="width: 1913px" class="wp-caption alignnone"><img wpfc-lazyload-disable="true" loading="lazy" class="size-full wp-image-948" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/reducedJoinResult.png" alt="MSSQL SELECT" width="1913" height="1030" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/reducedJoinResult.png 1913w, https://dinamiknetwork.com/wp-content/uploads/2019/12/reducedJoinResult-768x414.png 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/reducedJoinResult-1536x827.png 1536w, https://dinamiknetwork.com/wp-content/uploads/2019/12/reducedJoinResult-850x458.png 850w, https://dinamiknetwork.com/wp-content/uploads/2019/12/reducedJoinResult-466x250.png 466w" sizes="(max-width: 1913px) 100vw, 1913px" /><figcaption id="caption-attachment-948" class="wp-caption-text">T-SQL SELECT</figcaption></figure>
<h2>SQL Server &#8211; C# Veri Tipleri</h2>
<p>Sorgumuz fena bir yere gelmedi aslında. Elimizde alan isimleri ve veri tipleri var ancak bu tipler SQL tipleri. Bizim oluşturacağımız entity hangi programlama dili içinse onun karşılığı veri tipini bulmalıyız. Esasında programlama dilleri içerisinde veri tipleri benzerlik göstermektedir. Ben C# programlama dilini baz alarak hareket edeceğim. C# veri tipleri ile ilgili detaylı bilgiye aşağıdaki linkten ulşabilirsiniz.</p>
<p><a href="https://social.msdn.microsoft.com/Forums/tr-TR/379a88e0-ebd5-4666-9b73-e16f77698a38/c-deikenler-veri-tipleri?forum=csharptr">https://social.msdn.microsoft.com/Forums/tr-TR/379a88e0-ebd5-4666-9b73-e16f77698a38/c-deikenler-veri-tipleri?forum=csharptr</a></p>
<p>Şimdi sorgumuzun sondan bir önceki düzenlemesini yapalım. Sizin tablonuzda farklı tipler varsa yukarıdaki linkten yararlanarak C# karşılığını bulabilirsiniz. Ben sorgumu aşağıdaki hale getirdim.</p>
<figure id="attachment_950" aria-describedby="caption-attachment-950" style="width: 1910px" class="wp-caption alignnone"><img wpfc-lazyload-disable="true" loading="lazy" class="size-full wp-image-950" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView1.png" alt="MSSQL ENTITY" width="1910" height="1023" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView1.png 1910w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView1-768x411.png 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView1-1536x823.png 1536w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView1-850x455.png 850w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView1-466x250.png 466w" sizes="(max-width: 1910px) 100vw, 1910px" /><figcaption id="caption-attachment-950" class="wp-caption-text">T-SQL Entity</figcaption></figure>
<p>Şimdi elimizde bir şeyler var. İsimler ve veri tipleri elimizde. Entity üzerinde değer setlenirken hiç bir kontrol yapmayacağım için Auto-implemented propertie haline getirmem yeterli olacaktır. Auto-implemeneted propertie kavaramının detaylı açıklamasına aşağıdaki linkten ulaşabilirsiniz.</p>
<p><a href="https://docs.microsoft.com/tr-tr/dotnet/csharp/programming-guide/classes-and-structs/auto-implemented-properties">https://docs.microsoft.com/tr-tr/dotnet/csharp/programming-guide/classes-and-structs/auto-implemented-properties</a></p>
<p>Sorguyu aşağıdaki hale getiriyoruz.</p>
<figure id="attachment_953" aria-describedby="caption-attachment-953" style="width: 1915px" class="wp-caption alignnone"><img wpfc-lazyload-disable="true" loading="lazy" class="size-full wp-image-953" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView2.png" alt="T-SQL Entity Properties" width="1915" height="1028" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView2.png 1915w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView2-768x412.png 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView2-1536x825.png 1536w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView2-850x456.png 850w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityView2-466x250.png 466w" sizes="(max-width: 1915px) 100vw, 1915px" /><figcaption id="caption-attachment-953" class="wp-caption-text">T-SQL Entity Properties</figcaption></figure>
<p>Şu an elimizde tablonun kolonları yani propertieleri var. Bu kadar yapmışken sınıfını da ayarlayalım. Sorguyu son kez değiştiriyorum.</p>
<figure id="attachment_959" aria-describedby="caption-attachment-959" style="width: 1915px" class="wp-caption alignnone"><img wpfc-lazyload-disable="true" loading="lazy" class="size-full wp-image-959" src="https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityViewLast.png" alt="T-SQL Entity Class" width="1915" height="1029" srcset="https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityViewLast.png 1915w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityViewLast-768x413.png 768w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityViewLast-1536x825.png 1536w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityViewLast-850x457.png 850w, https://dinamiknetwork.com/wp-content/uploads/2019/12/EntityViewLast-466x250.png 466w" sizes="(max-width: 1915px) 100vw, 1915px" /><figcaption id="caption-attachment-959" class="wp-caption-text">T-SQL Entity Class</figcaption></figure>
<p>Artık entitymiz hazır. Sorgu sonucunu alıp class yaratabiliriz. Bir DB üzerindeki tüm tabloları bu şekilde hızlıca Entity haline getirip modellerimizi hazırlayabilir, proje ya da projelerimize hızlıca entegre edebiliriz.</p>
<p>Bir sonraki yazıda yeniden görüşmek dileğiyle&#8230; Diğer <strong><a href="https://dinamiknetwork.com/k/yazilim/diller/t-sql/">T-SQL</a> </strong>konularına ulaşmak için tıklayın.</p>
<p>The post <a rel="nofollow" href="https://dinamiknetwork.com/sql-server-ile-c-entity-class-olusturma/">SQL Server ile C# Entity Class Oluşturma</a> appeared first on <a rel="nofollow" href="https://dinamiknetwork.com">Dinamik Network</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dinamiknetwork.com/sql-server-ile-c-entity-class-olusturma/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
