14 Şubat 2018 Çarşamba

What is LazyLoading & EagerLoading in Entity Framework / LazyLoading Nedir

using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace UnivApp.Models { public class Student { public int Id { get; set; } public string LastName { get; set; } public string FirstMidName { get; set; } public DateTime EnrollmentDate { get; set; } public virtual ICollection<Enrollment> Enrollments { get; set; } /* About querying a student from database, all of the data will be retrieved when it is needed. (In other words, you are using lazy loading in here. You did not specify eager loading for the Courses navigation property (public virtual ICollection<Enrollment> Enrollments), it means the enrollments were not retrieved in the same query that got the students.Instead, when you try to access the Enrollments navigation property, a new query will be sent to the database to retrieve the data you want. Navigasyon Property için LazyLoading kullandık. Yani bir sorguda student çektiğimizde; navigasyon property'sinde bulunan veriler otomatik olarak gelmez. Şayet sen özellikle navigasyon property'deki bir değeri sorgu ile çekmek istersen; işte o zaman çekilir. Bu duruma Lazyloading denir (adı üstünde: Tembel Yükleme). Bu durumda, student'i çektikten sonra, bir de navigasyon Property'leri çekmek istersek şayet; bu durumda ikinci bir sorgu gönderilir. Lakin eğer EagerLoading kullansaydık; sorguda student'i çektiğimiz vakit; navigasyon property'lerine ait datalar da hep birlikte gelmiş olurdu. */ } }

16 Aralık 2017 Cumartesi

Csharp String metodları


using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NoobSaibot { class Program { static void Main(string[] args) { /* Csharp'ta string'lerin, Char'lardan oluşan bir array olabileceği düşünülse de; öyle değildir. String'ler birer objedir. Yeni bir string deklare ettiğimizde yaptığımız şey: String tipinde bir obje oluşturmaktır. Oluşan bu obje, String Class'ından gelmektedir. Bu noktada array'lar değil, objeler söz konusudur. String objeleri birçok property ve motodu kullanmamıza olanak sağlar. Örneklerle gösterelim. */ string str = "Bu bir yazı."; Console.WriteLine(".Length Property"); Console.WriteLine(str.Length); Console.WriteLine(); Console.WriteLine(".IndexOf Property"); Console.WriteLine(str.IndexOf('r')); Console.WriteLine(); //5 Console.WriteLine("str.Insert Property"); Console.WriteLine(str); Console.WriteLine(str.Insert(0, "Bu yazı eklendi. ")); Console.WriteLine(); str = str.Insert(0, "Hello, yeni bir cümle geldi. "); Console.WriteLine(str); Console.WriteLine(".Remove Property (parantez içine yazacağımız sayıya kadarki char'lar dışındaki char'lar silinir. Yani elimizde 10 adet char barındıran bir değişkene .Remove(4) dersek: ilk 4 char yazdırılır ve geri kalan 6 char silinir."); str = str.Remove(4); Console.WriteLine(str); Console.WriteLine(""); Console.WriteLine(".Replace Property"); str = "Büyük harfle yazılmış olan e harflerine bakınız: EEEEEEE"; Console.WriteLine(str); str = str.Replace('E', 'R'); Console.WriteLine(str); Console.WriteLine(""); str = "Yeni bir text"; Console.WriteLine(".Contains Property"); if (str.Contains("text")) { Console.WriteLine("str değişkeni içerisinde 'text' yazısına rastlandı"); } else { Console.WriteLine("str değişkeni içerisinde 'text' yazısına rastlanmadı"); } Console.WriteLine(); Console.WriteLine(".Substring Property ==> Textin ilk char'larından itibaren char'ları silmeye başlar. Parametresi içine girilen int argümanı kadar char'ı siler)"); var bir = str.Substring(1); var iki= str.Substring(2); var uc = str.Substring(3); Console.WriteLine(bir); Console.WriteLine(iki); Console.WriteLine(uc); Console.WriteLine(); string yeniText = "Bu text güzel bir text'tir. Bu metindeki noktadan sonra gelen kelimeleri kaybedelim, ayrıca metinde geçen text kelimelerini de 'yazi' kelimesiyle değiştirelim."; Console.WriteLine(yeniText); Console.WriteLine("Yukarıdaki text'in içeriğini değiştiriyoruz. Bkz aşağı:"); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(yeniText.Substring(0, 20) + "......."); //ilk 20 char'ı yazdırıyoruz ve devamına da noktalar ekliyoruz. Console.WriteLine(); yeniText = yeniText.Replace("text", "yazi"); yeniText = yeniText.Substring(0, yeniText.IndexOf('.') + 1); /* Substring property'sinin aldığı ilk değişken, başlangıç noktasını gösterir. İkinci değişken ise bitiş noktasını gösterir. Substring property'si: başlangıç noktasıyla bitiş noktası arasındaki char'lardan oluşan yeni bir text'i dönderir; bu aralıkta olmayan char'ları siler. Console.WriteLine(yeniText); Console.WriteLine(); */ var yazi1 = "Merhaba"; char x; x = yazi1[yazi1.Length - 1]; Console.WriteLine("{0} içinde bulunan son harf: {1}", yazi1, x); //Yazi1 değişkeninin son harfini değiştirerek örneği inceleyebiliriz. Console.WriteLine(); Console.WriteLine("Bir string objesinin içindeki n'inci harfi bulalım"); var yeniTextt = "Expulsive"; char dorduncuHarf; char ilkHarf; ilkHarf = yeniTextt[0]; dorduncuHarf = yeniTextt[3]; //saymaya 0'dan başladığımızı unutmayalım. Bu durumda [3] ile göstermek // istediğimiz harf: dördüncü harftir ---> 0, 1, 2, 3 Console.Write("Seçtiğimiz kelime: {0}. Dördüncü harfi: {1}. İlk harfi: {2}", yeniTextt, dorduncuHarf, ilkHarf); Console.ReadKey(); } } }