gpt4 book ai didi

asp.net-mvc-3 - asp.NET MVC 3 复合模式模型绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 03:57:53 25 4
gpt4 key购买 nike

我的应用程序有产品和供应商,并且它们在“具有”关系中都有相似的项目......特别是它们有一个“收藏夹”,因此用户可以为它们添加书签。

所以我们有:

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 始终为空。

如何绑定(bind)这些以便我可以使用这样的对象?我不让它成为一个单独的实体吗?

谢谢!

更新:我应该注意我正在使用 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 处理它?

最佳答案

您可以使用继承,创建一个仅包含收藏夹的基类,然后基于该基类派生其他信息的类。这建立了"is"关系

前任。

public class baseClass
{
public list<Favorite> Favorites { get; set;}
}
public class Product : base
{
public int ProductID { get; set; }
public string Name { get; set; }
}

然后一个产品对象将具有所有 3 个属性。

关于asp.net-mvc-3 - asp.NET MVC 3 复合模式模型绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11765938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com