Code First,MVC下拉类别&小类

时间:2012-02-03 18:30:03

标签: asp.net-mvc-3 entity-framework-4.1

客户想要添加产品。选择类别时,可用的不属于此产品。

我如何拥有类别&子类别下拉包括其他项目中的选项,以便客户端可以添加新的类别/子类别。

这只是为了说明那里的文档很少。我的问题有多么模糊。

我讨厌我必须在产品和产品之间形成关系的事实。类别。 EF在这方面失败了。

我的问题很简单。

客户想要添加产品,类别下拉列表不包含此产品的类别。如何在添加产品时允许客户添加类别?

2 个答案:

答案 0 :(得分:0)

瑞克非常感谢你,你的链接是一个附加价值。

我找到了问题的答案,我不希望在两个类之间形成真正的关系,并希望与其他人分享,因为似乎经常只有简化的例子。

如果你有两个类,你希望有一个外键给另一个,但是你不希望与前者具有外键的后一类有真正的关系,例如Products&类别,这是你做的:

(1)产品
        public int Id {get;组; }
        public int CategoryId {get;组; }
        公共虚拟类别类别{get;组; }

(2)分类:
        public int CategoryId {get;组; }
        public string Name {get;组; }
        公共列表<产品>产品{get;组; }

而且,上述关系没有流畅的API!

凭借具有产品列表而非集合的类别,没有与产品相关的数据存储在类别表中。

Ricks链接帮助我弄清楚下拉值是如何依赖于先前下拉选择的,但我还有一个问题:


如何使用jquery动态发布新值以下拉:


我点了这个链接:http://www.youtube.com/watch?v=IRoe_ss_s5M 当我的视图被称为Sample8时,它确实起作用。

但我的观点被称为_CreateOrEdit,似乎与该场景存在冲突。有什么建议吗?

答案 1 :(得分:-1)

 public class ProductTable
     {
       public int Id { get; set; }
       public string CategoryName{get;set;}

        public virtual Category Categories { get; set; }
      }

       public class CategoryTable
        {
           public int CategoryId { get; set; }
           public string Name { get; set; }
           public static ICollection<ProductTable> Products{get;set;}
        }