1

正如標題所暗示的,我真的很爲此苦苦掙扎。我瞭解腳手架功能並不完全支持這些開箱即用的關係,但我似乎無法獲得相當常見的工作方式。我首先使用存儲庫模式使用代碼。一些代碼...與ASP.NET MVC一對多和多對多關係和腳手架混淆

public class Product 
{ 
    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int Id { get; set; } 
    public string Sku { get; set; } 
    public string Name { get; set; } 
    public decimal PricePerUnit { get; set; } 
    public bool Available { get; set; } 
    public string Description { get; set; } 
    public int QuantityPerCarton { get; set; } 
    public int? DisplayOrder { get; set; } 

    public ICollection<Category> CategoryList { get; set; } 

} 

public class Category 
{ 
    public int Id { get; set; } 
    public int? ParentCategoryId { get; set; } 
    public string Name { get; set; } 
    public string UrlName { get; set; } 
    public int? DisplayOrder { get; set; } 
    public bool Visible { get; set; } 

    public virtual ICollection<Product> Products { get; set; } 
} 

所以我想要兩個對象之間的多對多關係。第一個問題。只要我添加虛擬集合,我就會得到'自創建數據庫以來支持'Context'上下文的模型已經發生了變化'。這種情況發生後,即使我執行遷移等

其次我不太明白(一旦這個工程),如何讓這些列表進入視圖。似乎沒有一個完美的前往資源來解釋這一點。任何人都可以在這個或者一個端到端的樣本上提供一些更具體的燈光嗎?

這應該很簡單!

謝謝

回答

0

我已經使用EF來提供過去沒有問題的場景。您可以在官方的ASP.NET website中找到有關使用EF加載相關資源的非常好的教程。您可能還會在第一個問題上找到更多有關遷移相關信息的信息。

+0

謝謝,我已經明確地使用過它,但發現它並不能真正涵蓋多對多,如果有的話。 看看他們的例子,我不明白如何使用Enrollments類,並且遷移沒有數據庫表產生。那麼關係在哪裏?我看過其他例子,這是在模型創建的背景下進行管理的,但樣本看起來很老,想知道是否有更好/更新的方法來實現這一點? – Raj

0

好的解決了它。 asp.net網站確實有幫助。我的錯誤是,我沒有在應用程序的正確層上進行遷移,因此我的多對多表永遠不會被創建。衛生署!