1
我有一個實體,稱爲Service
類似以下內容:ASP.Net MVC實體框架代碼優先導航屬性
public class Service
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int serviceId { get; set; }
public string name { get; set; }
public string description { get; set; }
public ServiceCategory category { get; set; }
}
類別是由用戶通過下拉菜單所選擇持有ID和的名字數據庫中可用的類別。 ViewModel會將這個ID返回給我保存。到目前爲止,我一直這樣做的方式是進入我的存儲庫,獲取id與視圖中所選類別匹配的類別對象,然後分配它。這當然需要往返數據庫。
我想知道,因爲我已經有了ID,有沒有更好的方式做到這一點,我不去數據庫?
這樣,它會自動將ServiceCategoryId映射到ServiceCategory? – hjavaher
@hjavaher EF將從serviceid加載關聯的ServiceCategories,ServiceCategoryId將允許您訪問子表中的基礎鍵。也可以選擇緩存,將結果保留在內存中,以便更快地訪問,而無需訪問數據庫 – Justin
好吧,我認爲我們有一些輕微的錯誤交流。上面的類是我的模型我正在使用viewModel發回我選擇的servicecategoryid。當我向數據庫添加一項新服務時,通常我會到數據庫中,找到所需的類別,將其加載到內存中並將其分配給服務。我問,因爲我已經有了ID,並在數據庫中唯一保存的是作爲FK的ID我可以保存自己的數據庫往返加載類別? – hjavaher