上午的時(shí)候把復(fù)雜類(lèi)型學(xué)習(xí)了一下,想著趁著周六日把Code First學(xué)習(xí)完,所以下午還是把Code First中的關(guān)系學(xué)習(xí)下。在數(shù)據(jù)庫(kù)中最重要的恐怕就是E-R圖了,E-R體現(xiàn)了表與表直接的關(guān)系。使用Code First也需要把這種表與表直接的關(guān)系映射到數(shù)據(jù)庫(kù)中,所以關(guān)系映射在Code First中也是很重要的一節(jié)。Code First中主要包括一對(duì)一、一對(duì)多、多對(duì)多。
一、外鍵列名默認(rèn)約定
Entity Framework Code First在根據(jù)默認(rèn)約定創(chuàng)建外鍵時(shí),外鍵列的名稱(chēng)存在3種方式:目標(biāo)類(lèi)型的鍵名,目標(biāo)類(lèi)型名稱(chēng)+目標(biāo)類(lèi)型鍵名稱(chēng),引用屬性名稱(chēng)+目標(biāo)類(lèi)型鍵名稱(chēng)。為了驗(yàn)證這3種方式創(chuàng)建了兩個(gè)類(lèi):Province省份類(lèi)、City城市類(lèi)。
1.目標(biāo)類(lèi)型的鍵名
這種方式為要求在City表中外鍵列名與Province表中的主鍵列名相同,所以也就要求在City類(lèi)中有定義與Province類(lèi)中作為主鍵的屬性。如在Province類(lèi)中主鍵屬性為ProvinceId,則需要在City類(lèi)中也定義一個(gè)ProvinceId的屬性。
public class Province { [Key] public string ProvinceId { get; set; } public string ProvinceName { get; set; } public virtual ICollection<City> Citys { get; set; } }
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式