ASP.NET WebApi mit JSON-Antwort, und Personen mit ausländischer Schlüssel

Arbeite ich an WebApi-Projekt und ich habe 2 Personen in meinem domain:

Street

public class Street
{
  public int ID { get; set; }
  public string Name { get; set; }
  public int StreetTypeID { get; set; }
  public virtual StreetType StreetType { get; set; }
}

und StreetType:

public class StreetType
{
  public int ID { get; set; }
  public string Name { get; set; }
  public virtual ICollection<Street> Streets { get; set; }
}

Benutze ich FluenApi zum anzeigen der folgenden Elemente:

public class StreetTypeMap : EntityTypeConfiguration<StreetType>
{
  public StreetTypeMap()
  {
     HasKey(t => t.ID);
     Property(t => t.ID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
     Property(t => t.Name).IsRequired().HasMaxLength(50);
     HasMany(a => a.Streets).WithRequired(p => p.StreetType).HasForeignKey(p => p.StreetTypeID);
     ToTable("StreetType");
   }
 }

und ähnlich wie der Street-Einheit.

Jetzt bekomme ich JSON:

{
  "id":1,
  "name":"Street1",
  "streettypeid":3
}

Wie bekomme ich die JSON wie:

{
  "id":1,
  "name":"Street1",
  "streettypeid":
   {
    "id":3,
    "name":"Type3"
   }
}

Oder eine ähnliche Struktur. Wie kann ich dies in .NET?

Mein Controller:

StreetController : BaseApiController<Street>

und

    public class BaseApiController<T> : ApiController where T : BaseEntity
    {
        protected UnitOfWork unitOfWork = new UnitOfWork();

        protected IRepository<T> repository;

        public BaseApiController()
        {
            repository = unitOfWork.EFRepository<T>();
        }
        public virtual IQueryable<T> Get()
        {
          var entity = repository.Table;

          if (entity == null)
          {
              throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NoContent));
          }
          return entity;
      }

}

InformationsquelleAutor | 2015-07-28
Schreibe einen Kommentar