为什么MVC复杂属性为空?

时间:2014-04-24 21:37:42

标签: asp.net-mvc properties

A)我的模型(代码优先)

public class CategoriaDeProduto
{

 public int Id { get; set; }
 public string Descrição { get; set; }
 public string Observação { get; set; }

 //This property contains high level product types of this product type 
 public ICollection<CategoriaDeProduto> CategoriasDeProdutoMae { get; set; } 

 //This VIRTUAL property contains low level product types of this product type 
 public virtual ICollection<CategoriaDeProduto> CategoriasDeProdutoFilho { get; set;} 

}

B)我的种子文件&#34;

   context.CategoriaDeProduto.AddOrUpdate(p => p.Id,
     new CategoriaDeProduto
     {
         Id = 1,
         Descrição = "TV",
         Observação = "TV"
     },
     new CategoriaDeProduto
     {
         Id = 2,
         Descrição = "Impressora",
         Observação = "Impressora"
     },
     new CategoriaDeProduto
     {
         Id = 3,
         Descrição = "Multifuncional",
         Observação = "Multifuncional",
     },
     new CategoriaDeProduto
     {
         Id = 4,
         Descrição = "Smartphone",
         Observação = "Smartphone"
     }

  );

    context.SaveChanges();



     context.CategoriaDeProduto.AddOrUpdate(p => p.Id,
     new CategoriaDeProduto
     {
         Id = 9,
         Descrição = "TV LCD",
         Observação = "TV de tecnologia LCD",
         CategoriasDeProdutoMae = new Collection<CategoriaDeProduto> { context.CategoriaDeProduto.Find(1), context.CategoriaDeProduto.Find(2), context.CategoriaDeProduto.Find(3), context.CategoriaDeProduto.Find(4) }

     }


     );


   context.SaveChanges();

C)我的&#34;查看&#34;

@model IEnumerable<Serelepe2014.Models.CategoriaDeProduto>
@(Html.GeraListagemEstiloClasse<Serelepe2014.Models.CategoriaDeProduto>(Model,@Resources_us.CategoriaDeProduto,@Resources_us.CategoriaDeProduto));

D)我的Html Helper扩展&#34; GeraListagemEstiloClasse&#34;

  public static MvcHtmlString GeraListagemEstiloClasse<T>(this HtmlHelper oHtmlHelper, IEnumerable<T> data, string tituloNoBrowser, string tituloNaTela)
        {

          ...

        }

E)我的问题

GeraListagemEstiloClasse正在接收元素上存在问题的数据参数(IEnumerable类型)。

问题:我的&#34; CategoriaDeProdutoMae&#34; 8o元素的复杂属性带有空值,但你可以在这篇文章的细节上看到正确的是4个对象而不是null ......

如果,在&#34; Quick Watch Window&#34;上,我点击第一个元素&#34; CategoriaDeProdutoFilho&#34;属性 那么我的&#34; CategoriaDeProdutoMae&#34; 8o元素的复杂属性没有null,带有count == 1

如果我重复开放&#34; CategoriaDeProdutoFilho&#34; 2o,3o和4o元素的属性,复杂属性类型&#34; CategoriaDeProdutoMae&#34; 8o元素带有count == 4 ....

  

为什么复杂的财产类型&#34; CategoriaDeProdutoMae&#34; 8o元素没有   没有我点击另一个属性的另一个属性来计数== 4   元素?我该如何解决这个问题?

0 个答案:

没有答案