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