我的应用程序有产品和供应商,并且它们在“具有”关系中都有相似的项目......特别是它们有一个“收藏夹”,因此用户可以为它们添加书签。
所以我们有:
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 和 Product.Favorites 始终为空。
如何绑定这些以便我可以使用这样的对象?我不让它成为一个单独的实体吗?
谢谢!
更新:我应该注意我正在使用 MVC 3 Code-first 和 POCO。
更新:解决方案:
我认为这并不理想,仍在解决我希望它如何工作的问题,因为它将添加冗余代码以添加收藏夹和评论。
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 处理它?