我的應用程序有產品和供應商,他們都有類似的項目在一個「有」關係...特別是他們有一個「最喜歡的」,所以用戶可以書籤他們。asp.NET MVC 3複合模式模型綁定
所以我們有:
public class Product
{
public int ProductId {get;set;}
public int Name {get;set;}
public List<Favorite> Favorites {get;set;}
}
public class Vendor
{
public int VendorId {get;set;}
public int Name {get;set;}
public List<Favorite> Favorites {get;set;}
}
public class Favorite
{
public int FavoriteId {get;set;}
public string UserName {get;set;}
}
起初,這沒有工作,所以我說:
public int? VendorId {get;set;}
public int? ProductId {get;set;}
現在我遇到的問題是,我Vendor.Favorites和產品。收藏夾始終爲空。
如何綁定這些以便我可以使用類似的對象?我是不是把它做成一個獨立的實體?
謝謝!
更新:我應該注意到,我使用MVC 3 Code-first與POCO。
UPDATE:解決方法:
我不認爲這是理想的,仍在制定的扭結與我多麼希望這工作,因爲它會添加收藏夾和評論添加冗餘代碼。
public class Product
{
public int ProductId {get;set;}
public int Name {get;set;}
public virtual List<Favorite> Favorites {get;set;}
}
public class Vendor
{
public int VendorId {get;set;}
public int Name {get;set;}
public virtual List<Favorite> Favorites {get;set;}
}
有在收藏類使得它的工作原可空int變量,但如果我想使用與其他物體的收藏類我將不得不修改與新的映射收藏夾屬性的關鍵物體。出於好奇,在正常處理這些類時,如何管理這些對象的數據存儲?我假設你在DAL處理它?
這最終倒退了,但讓我在正確的地方。我需要int?的,以便應用程序可以有一個原始映射,沒有循環引用(可怕),我將公共列表更改爲公共虛擬列表,並且每個人都很高興 –
Snowburnt
2012-08-01 20:47:47