1

Im trying to learn RavenDB in an MVC-project...Lets say we have many documents stored i a RavenDB collection looking something like this:

"ShipVia": "shippers/2",
  "Freight": 18.66,
  "Lines": [
    {
      "Product": "products/25",
      "ProductName": "NuNuCa Nuß-Nougat-Creme",

    },

I have managed to display a singe property (for example "Freight") by doing this: Class:

public class Orders
    {
       public string Freight { get; set; } 
    }

Then create a hard-typed view with a List-template...That gives me all the Freights-property in the database...

I would like to get a hold of the "Lines"-property and be able to see product and product-name...Tried this:

namespace World.DAL
{
    public class Orders
    {
        public string Company { get; set; }
        public string Employee { get; set; }
        public List<Lines> Lines { get; set; }

    }

    public class Lines
    {
       public string Product { get; set; }
       public string ProductName { get; set; }

    }
}

That did notwork..Just returned an emptly list I think..Can someone point me in the right direction?

EDIT:

 {
      "Company": "companies/65",
      "Employee": "employees/5",
      "OrderedAt": "1997-12-02T00:00:00.0000000",
      "RequireAt": "1997-12-30T00:00:00.0000000",
      "ShippedAt": "1997-12-08T00:00:00.0000000",
      "ShipTo": {
        "Line1": "2817 Milton Dr.",
        "Line2": null,
        "City": "Albuquerque",
        "Region": "NM",
        "PostalCode": "87110",
        "Country": "USA"
      },
      "ShipVia": "shippers/2",
      "Freight": 18.66,
      "Lines": [
        {
          "Product": "products/25",
          "ProductName": "NuNuCa Nuß-Nougat-Creme",
          "PricePerUnit": 14.0,
          "Quantity": 35,
          "Discount": 0.25
        },
        {
          "Product": "products/75",
          "ProductName": "Rhönbräu Klosterbier",
          "PricePerUnit": 7.75,
          "Quantity": 18,
          "Discount": 0.0
        }
      ]
    }
user2915962
  • 2,691
  • 8
  • 33
  • 60

1 Answers1

1

Your class needs to match the json format exactly, which means your class needs to look like this:

public class Orders
{
    public string ShipVia { get; set; }
    public string Freight { get; set; }
    public List<Lines> Lines { get; set; }

}

Of course your lines class still needs to be declared

public class Lines
{
   public string Product { get; set; }
   public string ProductName { get; set; }
}
Yuval Itzchakov
  • 146,575
  • 32
  • 257
  • 321