Merhaba Arkadaşlar Entitiy Framewrok de Code First yaklaşımında kullandığım TPH ve TPS kullanımına ornek olarak yaptığım ornek yazılım kodlarını cereceğim. Gerekli açıklamaları sonra yazacağım..
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
namespace TPH
{
public class Program
{
static void Main(string[] args)
{
using (var context=new TPHC())
{
//Product product = new Product { Name = "Elma", Title = "Balık1" };
//context.Products.Add(product);
//Gozluk gozluk = new Gozluk { Name = "RyBan", Number = 4, Title = "Gozluk Başlık" };
//context.Gozlukler.Add(gozluk);
//Cerceve cerceve = new Cerceve
//{
// Name = "cerceve",
// Title = "Cerceveler Başiıl",
// Index = "İndexi",
// CerceveNumber = 4,
// Number = 4,
// Category = new Category { Name = "İpli" }
//};
//context.Cerceveler.Add(cerceve);
//context.SaveChanges();
//var query = from b in context.Products
// orderby b.Name
// select b;
//Gozluk gozluk1 = context.Gozlukler.FirstOrDefault(p => p.Id == 3);
// //Hem Gozluk hemde cercevedeli gozluk ozelliklerini siler.
//context.Gozlukler.Remove(gozluk1);
//context.SaveChanges();
//Console.WriteLine("All blogs in the database:");
//foreach (var item in query)
//{
// Console.WriteLine(item.Name);
//}
//sil();
#if true
//BaseClassAbstract temel = new BaseClassAbstract();
//temel.Number = 45;
#endif
}
}
private static void sil()
{
using (var context=new TPHC())
{
Cerceve cerceve = context.Cerceveler.FirstOrDefault(p => p.Id == 4);
context.Cerceveler.Remove(cerceve);
context.SaveChanges();
}
}
}
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Title { get; set; }
}
public class Gozluk:Product
{
public string Index { get; set; }
public int Number { get; set; }
}
public class Cerceve:Gozluk
{
public int CerceveNumber { get; set; }
public virtual Category Category { get; set; }
}
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Cerceve> Cerceveler {get;set;}
}
public abstract class BaseClassAbstract
{
public int Id { get; set; }
public int Number { get; set; }
public BaseClassAbstract()
{
// TODO: Complete member initialization
}
}
public class KalitsalOlan : BaseClassAbstract
{
public string Name { get; set; }
public string SurName { get; set; }
}
public class TPHC : DbContext
{
public DbSet<Product> Products { get; set; }
public DbSet<Gozluk> Gozlukler { get; set; }
public DbSet<Cerceve> Cerceveler { get; set; }
public DbSet<BaseClassAbstract> BaseClasAbstractlar { get; set; }
public DbSet<KalitsalOlan> KalitsalOlanlar { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Gozluk>().ToTable("Gozlukler");
modelBuilder.Entity<Cerceve>().ToTable("Cerceveler");
modelBuilder.Entity<KalitsalOlan>().ToTable("KalitsalOlanlar");
base.OnModelCreating(modelBuilder);
}
}
}
codeFirst.rar (2,33 mb)
Maskot resmimiz..
