Как создается модель базы данных по методу CodeFirst? Опишите его этапы применения.



Дерекқордың болуына қарамастан, сіз дерекқордағы нысандарға сәйкес келетін сыныптар мен сипаттарға арналған кодты қолмен жаза аласыз және .edmx файлын пайдаланбастан осы кодты Entity Framework көмегімен қолдана аласыз. Міне, кейде кейде сіз кодты деп аталады, ал ресми атауы - Code First. Дүкен схемасы мен сіздің кодыңызбен ұсынылған тұжырымдамалық үлгі арасындағы салыстыру конвенцияға және арнайы картаға ұқсас API арқылы өңделеді. Егер дерекқор бұрыннан жоқ болса, Entity Framework моделі өзгерген жағдайда оны жасайды, жояды немесе қайта жасайды.
Code First үшін әзірленген деректерге қолжетімділік API DbContext класына негізделген. API сондай-ақ, деректер базасы бірінші және Үлгі өзгерістерге алғашқы үлгідегі модельдерді әзірлеу процесінде қолданылуы мүмкін

Үлгілер папкасында тінтуірдің оң жақ түймешігін басып, Қосу> Жаңа элемент тармағын таңдаңыз. Жаңа элемент қосу тілқатысу терезесінде Класс үлгісін таңдаңыз. Атауды өңдеу өрісіне «Author.cs» жазыңыз және OK түймешігін басыңыз. Кодты төмендегілермен ауыстырыңыз:using System.ComponentModel.DataAnnotations;namespace ContosoBooks.Models{ public class Author {   public int AuthorID { get; set; }   [Display(Name = "Last Name")]   public string LastName { get; set; }    [Display(Name = "First Name")]   public string FirstMidName { get; set; } }}

Повторите этот шаг с классом Book и используйте следующий код:

using System.ComponentModel.DataAnnotations;namespace ContosoBooks.Models{ public class Book {   public int BookID { get; set; }   public string Title { get; set; }   public int Year { get; set; }   public decimal Price { get; set; }   public string Genre { get; set; }   public int AuthorID { get; set; }   // Navigation property   public Author Author { get; set; } }}Өтінішті қиындатпау үшін бір кітабында бір автор болады. Автордың сипаты кітаптар мен авторларды байланыстыруға мүмкіндік береді. EF ішінде бұл сипат шарлау сипаты деп аталады. EF дерекқор схемасын жасаған кезде, AutID авторы авторлар кестесінің сыртқы кілті болады дегенді білдіреді.Добавление класса DbContext

EF 7-де деректермен өзара әрекеттесудің негізгі класы Microsoft.Data.Entity.DbContext болып табылады. Модельдер қалтасына BookContext атты сыныпты қосыңыз және ол DbContext-дан мұраға алады:

using Microsoft.Data.Entity;namespace ContosoBooks.Models{ public class BookContext : DbContext {   public DbSet<Author> Authors { get; set; }   public DbSet<Book> Books { get; set; } }}

 

Как отражается в коде модели базы данных для описания случаев создания связей между таблицами разных типов?

Аннотациялармен дерекқор теңшелімінің келісімдерін орнату өте қарапайым, бірақ ол кестелер арасындағы көпсалалы қатынастарды құру сияқты күрделі проекцияны бере алмайды. Fluent API сізге мұндай терең параметрлерге қол жеткізуге мүмкіндік береді, бірақ оны қолдану қиынырақ.

Кестелер арасындағы қатынас түрлері (дерекқорлар үшін көрнекі құралдар)

Негізгі бағандардағы деректерге сәйкестендіру арқылы байланыс жұмыс жасайды; бұл әдетте екі кестеде бірдей атау болатын бағандар болып табылады. Көп жағдайларда, бастапқы кілт қарым-қатынас басқа үстел сыртқы кілт жазбалары бар кестедегі әр жолды анықтайтын бір кестені байланыстырады. Мұндай кітап ретінде сату кітаптар сатылатын атақтар жатқызылған және атақтары кестеде title_id бағанында арасындағы қарым-қатынас (бастапқы кілт) және сату кестеде title_id баған (сыртқы кілт) жасауға болады.

Кестелер арасындағы қатынастардың үш түрі бар. Жасалатын сілтеме түрі байланысты бағандар қалай анықталғанына байланысты.

• Бір-көп қатынастар

• Көптеген қарым-қатынастар

• Бір-бір қарым-қатынас

Бір-біріне көп қатынастар //Связи «один ко многим»

Көптеген қарым-қатынас көп тараған. Кесте А жолында қосылымдардың осы түрі кесте В бірнеше қабаттасатын жолдар болуы мүмкін, бірақ кесте В әрбір желісі үстелдер баспагерлер мен titlesustanovlena қарым-қатынас арасындағы, Мысалы, «көптеген бір» А. бір ғана жолды болуы мүмкін: әр жариялаушы көптеген кітаптар шығарады, бірақ әр кітап тек бір баспадан шыққан.

Байланыстырылған бағандардың тек біреуі бастапқы кілт шектеулері немесе бірегейлігі болса, бір-көп қатынастарды пайдаланыңыз.

Бір-көп қатынастардағы негізгі кілт болып табылатын баған кілт белгісімен белгіленген. Бір-көпше қатынастардағы шетелдік кілт болып табылатын баған шексіздік белгісімен белгіленеді.

Көптеген-көптеген қатынастар // Связи «многие ко многим»

А кестесіндегі көптеген көптеген қатынастарда B кестесінің бірнеше қатарын салыстыруға болады және керісінше. Мұндай өзара байланысты авторлар мен атақтары үстелдер облигация «көптеген көптеген» кестеде осы кестелер әрбір «көптеген бір» байланыс арқылы анықталады арқылы, оның негізгі кілті Мысалы сыртқы кілттер А және В тұрады қосылу кестесін деп аталатын, үшінші кестені анықтау жатыр тақырып авторлары. кестенің Titleauthors бастапқы кілті баған au_id (кесте авторлардың бастапқы кілт) және баған title_id (кестенің атаулары бастапқы кілт) тіркесімі болып табылады.

Өзара қатынастар // Связи «один к одному»

А кестесіндегі «көпке-бір» қатынасында, B кестесінің тек бір қатарын салыстыруға болады және керісінше. Базалық кілттің шектеулері немесе бірегейліктің байланысқан кілттер үшін екеуі анықталса, бір-бірімен байланыс жасалады.

Байланыстың бұл түрі әдетте пайдаланылмайды, себебі қосылған деректердің көбісі бір кестеде сақталуы мүмкін. Жеке байланыстың келесі түрлерін пайдалануға болады:

• Көптеген бағандармен кестелерді бөліңіз.

• Қауіпсіздік мақсатында кестенің бір бөлігін оқшаулаңыз.

• Толығымен кестемен бірге оңай жойылуы мүмкін қысқа мерзімді деректерді сақтау.

• Негізгі кестенің тек бөлігіне қатысты деректерді сақтау.

Бағаналық қатынаста бастапқы кілт болып табылатын баған кілт белгісімен белгіленген. Сыртқы кілт болып табылатын баған, сонымен қатар, кілт белгісімен белгіленген.


Дата добавления: 2018-02-15; просмотров: 405; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!