Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrare de laborator Nr.4
Disciplina: Tehnologii Web
Tema: Accesarea, proiectarea bazelor de date
(EntityFramework)
Chișinău 2021
Scopul: Accesarea, proiectarea bazelor de date (EntityFramework)
Considerații teoretice
O bază de date este o colecție de date care este stocată în conformitate cu schema de date
proiectată. Definiția unei baze de date nu trebuie confundată cu definirea unui sistem de gestionare a
bazelor de date (DBMS). DBMS - un set de instrumente software folosite pentru a crea și administra o
bază de date. Acest laborator utilizează unul dintre sistemele de gestionare a bazelor de date client-
server, Microsoft SQL Server, dezvoltat de Microsoft.
Entity Framework este o tehnologie orientată pe obiecte bazată în .NET framework pentru
lucrul cu datele. Acest framework va permite lucrarea cu datele, indiferent de tipul acestora. Astfel,
dacă la nivel fizic, dezvoltatorul operează cu tabele, chei, apoi la nivelul furnizat de cadrul entității, el
lucrează cu obiecte, ceea ce simplifică foarte mult lucrul cu datele ca întreg. Conceptul central al
Entity Framework este conceptul unei entități, care este un set de date asociate unui anumit obiect.
Anume din această cauză tehnologia Entity Framework presupune lucrul cu obiectele, nu cu tabelele.
SQL (de la numele englez Structured Query Language - limbaj de interogare structurat - care
se pronunță [es kiu el]) este un limbaj de programare specific pentru manipularea datelor în
sistemele de manipulare a bazelor de date relaționale (RDBMS), iar la origine este un limbaj bazat pe
algebra relațională. Acesta are ca scop inserarea datelor, interogații, actualizare și ștergere,
modificarea și crearea schemelor, precum și controlul accesului la date. A devenit un standard în
domeniu (standardizat ANSI-ISO), fiind cel mai popular limbaj utilizat pentru crearea, modificarea,
regăsirea și manipularea datelor de către SGBD-urile (Sistemele de Gestiune a Bazelor de Date)
relaționale. Pe lângă versiunile standardizate ale limbajului, există o mulțime de dialecte și variante,
unele proprietare, fiind specifice anumitor SGBD-uri și de asemenea conținând extensii pentru a
suporta SBD-urile (Sistemele de Baze de Date) obiectuale (obiectual-relaționale).
namespace App.BusinessLogic.Core
{
public class UserApi
{
internal ULoginResp UserLoginAction(ULoginData data)
{
UDbTable result;
var validate = new EmailAddressAttribute();
if (validate.IsValid(data.Credential))
{
var pass = LoginHelper.HashGen(data.Password);
using (var db = new UserContext())
{
result = db.Users.FirstOrDefault(u => u.Email == data.Credential && u.
Password == pass);
}
if (result == null)
{
return new ULoginResp { Status = false, StatusMsg = "Email-
ul sau parola dvs. este greșită!" };
}
UDbTable result;
using(var db = new UserContext())
{
var validate = new EmailAddressAttribute();
if (!validate.IsValid(data.Email))
{
return new URegResp { Status = false, StatusMsg = "Email-
ul nu este valid!" };
}
if (data.Email.Length > 29)
{
return new URegResp { Status = false, StatusMsg = "Email-
ul este prea lung!" };
}
//Username length
if (data.Username.Length > 29)
{
return new URegResp { Status = false, StatusMsg = "Login-
ul este prea lung!" };
}
if (data.Username.Length < 5)
{
return new URegResp { Status = false, StatusMsg = "Login-
ul este prea scurt!" };
}
//Password length
if (data.Password.Length > 49)
{
return new URegResp { Status = false, StatusMsg = "Parola este prea lu
ngă!" };
}
if (data.Password.Length < 8)
{
return new URegResp { Status = false, StatusMsg = "Parola este prea sc
urtă!" };
}
//Password match
if (data.Password != data.Repeat_Password)
{
return new URegResp { Status = false, StatusMsg = "Parolele nu corespu
nd!" };
}
db.Users.Add(new UDbTable
{
Username = data.Username,
Email = data.Email,
Password = pass,
LastLogin = DateTime.Now,
LastIp = data.LoginIp
});
db.SaveChanges();
if (curent != null)
{
curent.CookieString = apiCookie.Value;
curent.ExpireTime = DateTime.Now.AddMinutes(60);
using (var todo = new SessionContext())
{
todo.Entry(curent).State = EntityState.Modified;
todo.SaveChanges();
}
}
else
{
db.Sessions.Add(new Session
{
Username = loginCredential,
CookieString = apiCookie.Value,
ExpireTime = DateTime.Now.AddMinutes(60)
});
db.SaveChanges();
}
}
return apiCookie;
}
return userminimal;
}
}
}
Concluzie
În final pot spune că Entity Framework este o tehnologie orientată pe obiecte bazată în .NET
framework pentru lucrul cu datele. Cu ajutorul ei putem face interacțiunea cu baza de date.