Я давно работаю над EntryFreamwork с Mvc.
При создании сложных типов я использую свой метод include для создания сущностей или я ломаю модель, отправляя идентификатор частичным представлениям?
Я использую частичное представление
<div class="sidebar-item product-info">
<h4>İlan Durumu</h4>
<hr class="line-separator">
<!-- INFORMATION LAYOUT -->
<div class="information-layout">
<!-- INFORMATION LAYOUT ITEM -->
<div class="information-layout-item">
<p class="text-header">Başlangıç Fiyatı:</p>
<p>@string.Format("{0:N0}", Model.MaxPrice) ₺</p>
</div>
<!-- /INFORMATION LAYOUT ITEM -->
@Html.Action("AuctionBestOffer", "Offer", new { auction = Model.Id })
<!-- INFORMATION LAYOUT ITEM -->
<div class="information-layout-item">
<p class="text-header">Favorilere Ekle:</p>
@Html.Action("UserHasFavoriteAuctionDetail", "FavoriteAuction", new { auction = Model.Id, title = Model.Title })
</div>
<!-- /INFORMATION LAYOUT ITEM -->
</div>
<!-- INFORMATION LAYOUT -->
</div>
АукционComplexModel
public class GetAuctionDetailModel : ViewModel
{
public int UserId { get; set; }
public int CategoryId { get; set; }
public int CityId { get; set; }
public AuctionBaseCategoryType BaseCategory { get; set; }
public AuctionBaseType AuctionBaseType { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public DateTime EndDate { get; set; }
public decimal MaxPrice { get; set; }
public string Count { get; set; }
public bool IsActive { get; set; }
}
Предложение ComplexPartialModel
public class GetOfferForAuctionDetail : ViewModel
{
public OfferStatus OfferStatus { get; set; }
public decimal Price { get; set; }
}
Контроллер предложений
public ActionResult AuctionBestOffer(int auction)
{
var response = _offerService.GetBestOffer(auction);
if (response.IsCompleted)
return PartialView(response.Data);
return null;
}
Аукционный контроллер
public ActionResult AuctionDetail(string title,int id)
{
var response = _auctionService.AuctionDetail(id);
if(response.IsCompleted)
return View(response.Data);
return RedirectToAction("Index", "Home", new {notificationError = response.Message});
}
с другой стороны OfferAuctionMixModel
public class GetAuctionDetailModel : ViewModel
{
public int UserId { get; set; }
public int CategoryId { get; set; }
public int CityId { get; set; }
public AuctionBaseCategoryType BaseCategory { get; set; }
public AuctionBaseType AuctionBaseType { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public DateTime EndDate { get; set; }
public decimal MaxPrice { get; set; }
public string Count { get; set; }
public bool IsActive { get; set; }
public List<GetOfferForAuctionDetail> OfferModels { get; set; }
}
Контроллер
public List<GetAuctionDetailModel> GetModel(int id)
{
using (VerBiTeklifContext context = new VerBiTeklifContext())
{
var item =context.Auction.Where(s => s.Id == id).Include(s =>
s.Offer);
//mapping operations...
}
}
Я могу сделать тот же процесс, используя метод include.Какой из них мне следует использовать?
Хорошая работа для всех ...