Entity framework Krizsán Zoltán 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
Kontextus modell osztály létrehozása Kontextus XXXContext osztály ősosztály DbContext (using System.Data.Entity) Nyilvános tulajdonságok táblánként DbSet<YYY> YYYs {get; set;} (YYY lesz a tábla neve) EF Designer generálja, ha nem code first
Adat (entitás) osztályok létrehozása Nyilvános tulajdonságok (get, set) Attribútumok használata a tulajd. előtt Adat modell Key Association (adat reláció, pl. idegen kulcs) Megjelenítés Display DisplayColoumn Ellenőrző Required StringLength
Attribútum példák [MaxLength(10),MinLength(5)] [MaxLength(10, ErrorMessage="BloggerName must be 10 characters or less"),MinLength(5)] [NotMapped], ha nem kell a db-be [Table(“ZZZZZZZ")] [Column(“SSSSSS", TypeName=“gggggg")]
Entitás kapcsolatok 1:N (gyűjtemény típus a másik osztaly elemeire) class YYY{ public virtual List<XXX> XXXs { get; set; } } N:N Két osztály kölcsönös hivatkozás public class 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.cs benne 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 initial snapshot (datum): datum_initial.cs update-database létrejön az mdf – benne a táblák
Létező adatbázis esetén Configban adatbázis beállítása Entity framework -> Reverse Engineer Code First Models mappában új contex file
Model First Új elem Data ADO.NET Entity Data Model Entity model Grafikus szerkesztő *.edmx file a kimenete http://msdn.microsoft.com/en-us/data/jj205424
Adatbázis generálás, használat Jobb gomb -> Generate Database from model Edmx alatt generált források
DataBase First Project -> Add New Item Data -> ADO.NET Entity Data Model Generate from Database
Tutorial http://www.asp.net/web-forms/tutorials/data-access/model-binding/retrieving-data