正如标题所示,我真的很挣扎。我知道脚手架功能并不完全支持开箱即用的这些关系,但我似乎无法让一个相当常见的场景工作。我首先使用存储库模式的代码。一些代码...
public class Product
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Sku { get; set; }
public string Name { get; set; }
public decimal PricePerUnit { get; set; }
public bool Available { get; set; }
public string Description { get; set; }
public int QuantityPerCarton { get; set; }
public int? DisplayOrder { get; set; }
public ICollection<Category> CategoryList { get; set; }
}
public class Category
{
public int Id { get; set; }
public int? ParentCategoryId { get; set; }
public string Name { get; set; }
public string UrlName { get; set; }
public int? DisplayOrder { get; set; }
public bool Visible { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
所以我想要两个对象之间的多对多关系。第一个问题。一旦我添加虚拟集合,我就会得到'支持'上下文的模型'上下文自创建数据库以来已经改变了'。即使在我执行迁移等后也会发生这种情况。
其次我不太明白(一旦这个工作),如何将这些列表放入视图中。似乎没有一个完美的首选资源来解释这一点。任何人都可以对这个或端到端的样本有更具体的了解吗?
这应该很简单!!
由于
答案 0 :(得分:0)
我在过去没有问题的情况下使用了EF。您可以在官方ASP.NET website中找到关于使用EF加载相关资源的非常好的教程。您可能还会在第一个与迁移相关的问题上找到更多信息。
答案 1 :(得分:0)
好的解决了。 asp.net网站确实提供了帮助。我的错误是我没有在应用程序的正确层上进行迁移,因此我的多对多表从未被创建过。卫生署!