YAYINEVI VE YAZAR TABLOLARININ OLUŞTURULMASI

Projemde iki tane daha class oluşturacağım, bunun için Model katmanına geliyor sağ tıklıyor ve ilk class için YayinEvi adını veriyorum. İlgili propertyleri yazıyorum.

Detaylı bilgi ve kod takibi için video:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GRSYKitapEvi_Model.Models
{
    [Table("tb_YayinEvi")]
    public class YayinEvi
    {
        [Key]
        public int YayinEvi_Id { get; set; }

        [Required]
        public string YayinEviAdi { get; set; }

        [Required]
        public string Lokasyon { get; set; }

    }
}

Bir class daha ekliyorum. Bunun da adını Yazar veriyorum ve propertyleri oluşturuyorum.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GRSYKitapEvi_Model.Models
{
    [Table("tb_Yazar")]
    public class Yazar
    {
        [Key]
        public int Yazar_Id { get; set; }

        [Required]
        public string YazarAd { get; set; }

        [Required]
        public string YazarSoyad { get; set; }

        public string Lokasyon { get; set; }
        public DateTime DogumTarihi { get; set; }

        [NotMapped]
        public string AdSoyad
        {
            get 
            { return $"{YazarAd}  {YazarSoyad}";
            
            }
        }




    }
}

Akabinde migration için add-migration EkleYazarveYayinEviTablolariDb diyorum.

using System;
using Microsoft.EntityFrameworkCore.Migrations;

namespace GRSYKitapEvi_DataAccess.Migrations
{
    public partial class EkleYazarveYayinEviTablolariDb : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.CreateTable(
                name: "tb_YayinEvi",
                columns: table => new
                {
                    YayinEvi_Id = table.Column< int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    YayinEviAdi = table.Column< string>(type: "nvarchar(max)", nullable: false),
                    Lokasyon = table.Column< string>(type: "nvarchar(max)", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_tb_YayinEvi", x => x.YayinEvi_Id);
                });

            migrationBuilder.CreateTable(
                name: "tb_Yazar",
                columns: table => new
                {
                    Yazar_Id = table.Column< int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    YazarAd = table.Column< string>(type: "nvarchar(max)", nullable: false),
                    YazarSoyad = table.Column< string>(type: "nvarchar(max)", nullable: false),
                    Lokasyon = table.Column< string>(type: "nvarchar(max)", nullable: true),
                    DogumTarihi = table.Column< DateTime>(type: "datetime2", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_tb_Yazar", x => x.Yazar_Id);
                });
        }

        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropTable(
                name: "tb_YayinEvi");

            migrationBuilder.DropTable(
                name: "tb_Yazar");
        }
    }
}

Database yansıtmak için update-database kullanıyorum.

Bir sonraki derste görüşmek üzere..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir