我的应用程序有产品和供应商,他们都有类似的项目在一个“有”关系...特别是他们有一个“最喜欢的”,所以用户可以书签他们。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