Mavzu: Entity Framework texnologiyasida masala yechish



Download 15,71 Kb.
Sana27.06.2022
Hajmi15,71 Kb.
#708844
Bog'liq
Dilafruz qayta o\'zlashtirish[1]




Mavzu:Entity Framework texnologiyasida masala yechish

Entity Framework (EF) Core mashhur Entity Framework maʼlumotlarga kirish texnologiyasining oddiy, oʻzaro platformali va kengaytiriladigan ochiq manba versiyasidir.


EF Core-dan ob'yekt bilan bog'liqlik xaritasi (O/RM) sifatida foydalanish mumkin, bu:NET ishlab chiquvchilariga .NET ob'ektlari yordamida ma'lumotlar bazasi bilan ishlash imkonini beradi.
Odatda yozilishi kerak bo'lgan ma'lumotlarga kirish kodining ko'p qismiga bo'lgan ehtiyojni yo'q qiladi.
EF Core ko'plab ma'lumotlar bazasi tizimlarini qo'llab-quvvatlaydi..
Model
EF Core-da ma'lumotlarga model orqali kirish mumkin. Model ob'ektlar sinflari va ma'lumotlar bazasi seansini ifodalovchi kontekst ob'ektidan iborat. Kontekst ob'ekti so'rovlarni bajarish va ma'lumotlarni saqlash imkonini beradi. Qo'shimcha ma'lumot olish uchun Model yaratish bo'limiga qarang.
EF modelni ishlab chiqishda quyidagi yondashuvlarni qo'llab-quvvatlaydi:
Mavjud ma'lumotlar bazasi asosida model yarating.
Model kodini ma'lumotlar bazasiga muvofiq qo'lda yozish.
Model yaratilgandan so'ng, model asosida ma'lumotlar bazasini yaratish uchun EF Migrations-dan foydalaning. Migratsiya ma'lumotlar bazasini model o'zgarishi bilan rivojlanishiga imkon beradi.
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;

namespace Intro;

public class BloggingContext : DbContext
{
public DbSet Blogs { get; set; }
public DbSet
Posts { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)


{
optionsBuilder.UseSqlServer(
@"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True");
}
}

public class Blog


{
public int BlogId { get; set; }
public string Url { get; set; }
public int Rating { get; set; }
public List
Posts { get; set; }
}

public class Post


{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }

public int BlogId { get; set; }


public Blog Blog { get; set; }
}
So'rovni bajarish
Ob'ektlar sinfi misollari LINQ yordamida ma'lumotlar bazasidan olinadi.
using (var db = new BloggingContext())
{
var blogs = db.Blogs
.Where(b => b.Rating > 3)
.OrderBy(b => b.Url)
.ToList();
}
Ma'lumotlarni saqlash
Ma'lumotlar bazasidagi ma'lumotlarni yaratish, o'chirish va o'zgartirish uchun ob'ektlar sinfi misollaridan foydalaniladi.
using (var db = new BloggingContext())
{
var blog = new Blog { Url = "http://sample.com" };
db.Blogs.Add(blog);
db.SaveChanges();
}
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;

namespace EFGetStarted;

public class BloggingContext : DbContext
{
public DbSet Blogs { get; set; }
public DbSet
Posts { get; set; }

public string DbPath { get; }

public BloggingContext()
{
var folder = Environment.SpecialFolder.LocalApplicationData;
var path = Environment.GetFolderPath(folder);
DbPath = System.IO.Path.Join(path, "blogging.db");
}

// The following configures EF to create a Sqlite database file in the


// special "local" folder for your platform.
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite($"Data Source={DbPath}");
}

public class Blog


{
public int BlogId { get; set; }
public string Url { get; set; }

public List


Posts { get; } = new();
}

public class Post


{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }

public int BlogId { get; set; }


public Blog Blog { get; set; }
}
using System;
using System.Linq;

namespace EFGetStarted;

internal class Program
{
private static void Main()
{
using (var db = new BloggingContext())
{
// Note: This sample requires the database to be created before running.
Console.WriteLine($"Database path: {db.DbPath}.");

// Create


Console.WriteLine("Inserting a new blog");
db.Add(new Blog { Url = "http://blogs.msdn.com/adonet" });
db.SaveChanges();

// Read
Console.WriteLine("Querying for a blog");


var blog = db.Blogs
.OrderBy(b => b.BlogId)
.First();

// Update


Console.WriteLine("Updating the blog and adding a post");
blog.Url = "https://devblogs.microsoft.com/dotnet";
blog.Posts.Add(
new Post { Title = "Hello World", Content = "I wrote an app using EF Core!" });
db.SaveChanges();

// Delete


Console.WriteLine("Delete the blog");
db.Remove(blog);
db.SaveChanges();
}
}
}
Download 15,71 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish