160 likes | 342 Views
Adatbázis kezelés. Entity framework Krizsán Zoltán. Entity framework. Sok-sok hasznos tutorial http ://msdn.microsoft.com/en-us/data/ee712907#efdesigner. Lehetőségek. Code First Model First Database First. Code First megközelítés. Nincs adatbázis Létező adatbázis esetén.
E N D
Adatbáziskezelés Entity frameworkKrizsánZoltán
Entity framework • Sok-sokhasznos tutorial • http://msdn.microsoft.com/en-us/data/ee712907#efdesigner
Lehetőségek • Code First • Model First • Database First
Code First megközelítés • Nincsadatbázis • Létezőadatbázisesetén
Kontextusmodellosztálylétrehozása • KontextusXXXContextosztály • ősosztályDbContext(using System.Data.Entity) • NyilvánostulajdonságoktáblánkéntDbSet<YYY> YYYs {get; set;}(YYY lesz a táblaneve) • EF Designer generálja, ha nem code first
Adat(entitás) osztályoklétrehozása • Nyilvánostulajdonságok (get, set) • Attribútumokhasználata a tulajd. előtt • Adatmodell • Key • Association (adatreláció, pl. idegenkulcs) • Megjelenítés • Display • DisplayColoumn • Ellenőrző • Required • StringLength
Attribútumpéldák • [MaxLength(10),MinLength(5)] • [MaxLength(10, ErrorMessage="BloggerName must be 10 characters or less"),MinLength(5)] • [NotMapped], ha nemkell a db-be • [Table(“ZZZZZZZ")] • [Column(“SSSSSS",TypeName=“gggggg")]
Entitáskapcsolatok • 1:N (gyűjteménytípus a másikosztalyelemeire)class YYY{ public virtual List<XXX> XXXs { get; set; } } • N:NKétosztálykölcsönöshivatkozáspublicclass Person { public ICollection<Course> CoursesAttending { get; set; } } public class Course { public ICollection<Person> Students { get; set; }}
Code First migráció • Tools -> Library Package Management ->Package Management Console • enable-migrations • Hatására: • Migrations mappában • Configuration.csbenne Seed metódus, lehet benne benépesítés
Migráció - Seed • context.XXXs.AddOrUpdate( new XXX { aaa= "Chemistry", bbb= 3 }, new XXX { aaa = "Chemistry", bbb = 3 },) • context.SaveChanges();
DB létrehozása • add-migration initialsnapshot (datum): datum_initial.cs • update-databaselétrejönazmdf – benne a táblák
Létezőadatbázisesetén • Configbanadatbázisbeállítása • Entity framework -> Reverse Engineer Code First • Models mappábanújcontex file
Model First • ÚjelemDataADO.NET Entity Data ModelEntity model • Grafikusszerkesztő • *.edmx file a kimenete • http://msdn.microsoft.com/en-us/data/jj205424
Adatbázisgenerálás, használat • Jobbgomb -> Generate Database from model • Edmxalattgeneráltforrások
DataBase First • Project -> Add New ItemData -> ADO.NET Entity Data ModelGenerate from Database
Tutorial • http://www.asp.net/web-forms/tutorials/data-access/model-binding/retrieving-data