• 04-06-2022, 10:45:15
    #1
    Arkadaşlar basit bir e-ticaret üzerinde geliştirme yapacağım fakat Fluent Api ile;
    Bir ürün birden fazla kategoriye sahip olabilir yani çoka çok ilişki.
    Basit bir şekilde Fluent Api ile Ürün Kategori ilişkisi örneği verebilir misiniz ?
  • 01-05-2023, 04:29:03
    #2
    Böyle bir kaynak var ama işine yarar mı bilmiyorum.
    <%
    ' Veritabanı bağlantısı
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("database.mdb")
    conn.Open
    
    ' Kategori tablosu
    Dim categoryTable
    Set categoryTable = conn.Execute("SELECT * FROM categories")
    
    ' Ürün tablosu
    Dim productTable
    Set productTable = conn.Execute("SELECT * FROM products")
    
    ' Fluent API ile veritabanı ilişkisi oluşturma
    Dim modelBuilder
    Set modelBuilder = Server.CreateObject("System.Data.Entity.DbModelBuilder")
    
    ' Kategori tablosu için model tanımı
    Dim categoryModel
    Set categoryModel = modelBuilder.Entity("Category")
    categoryModel.ToTable("categories") ' Veritabanındaki tablo adı
    categoryModel.HasKey("id")
    categoryModel.Property("id").HasColumnName("category_id") ' Sütun adı
    categoryModel.Property("name").HasColumnName("category_name") ' Sütun adı
    
    ' Ürün tablosu için model tanımı
    Dim productModel
    Set productModel = modelBuilder.Entity("Product")
    productModel.ToTable("products") ' Veritabanındaki tablo adı
    productModel.HasKey("id")
    productModel.Property("id").HasColumnName("product_id") ' Sütun adı
    productModel.Property("name").HasColumnName("product_name") ' Sütun adı
    productModel.Property("price").HasColumnName("product_price") ' Sütun adı
    
    ' Ürün tablosuna kategori tablosundan ilişki ekleme
    productModel.HasRequired(Function(p) p.Category).WithMany(Function(c) c.Products).HasForeignKey(Function(p) p.CategoryId)
    
    ' Veritabanı modeli oluşturma
    Dim dbModel
    Set dbModel = modelBuilder.Build(conn)
    
    ' Veritabanı tablolarını oluşturma
    dbModel.Create(conn)
    
    ' Veritabanı tablolarını listeleme
    Dim schema
    Set schema = conn.OpenSchema(20)
    Do While Not schema.EOF
        Response.Write(schema("TABLE_NAME") & "<br>")
        schema.MoveNext
    Loop
    
    ' Veritabanı bağlantısını kapatma
    conn.Close
    %>