tôi đang làm việc trên dự án WebAPI và tôi có 2 đơn vị trong phạm vi của tôi:
đườngASP.NET WebAPI JSON đáp ứng và thực thể với phím
public class Street
{
public int ID { get; set; }
public string Name { get; set; }
public int StreetTypeID { get; set; }
public virtual StreetType StreetType { get; set; }
}
và StreetType:
public class StreetType
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Street> Streets { get; set; }
}
Tôi sử dụng FluenApi để lập bản đồ các thực thể này:
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");
}
}
và tương tự f hoặc thực thể Đường phố.
Bây giờ tôi nhận được JSON:
{
"id":1,
"name":"Street1",
"streettypeid":3
}
Làm thế nào tôi có thể nhận được JSON như:
{
"id":1,
"name":"Street1",
"streettypeid":
{
"id":3,
"name":"Type3"
}
}
Hoặc một số cấu trúc tương tự. Làm thế nào tôi có thể thực hiện điều này trong .NET?
điều khiển của tôi:
StreetController : BaseApiController<Street>
và
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;
}
}
Cảm ơn bạn. Tôi thử nó Tôi đã nhận một lỗi: 'Không thể tìm thấy một tài sản có tên 'StreetTypes' trên loại 'Domain.Entities. Street '. "' –
Bạn sử dụng yêu cầu http nào? – Marusyk
'http: // mysite/Street? $ Expand = StreetTypes' –