Я постараюсь объяснить это как можно лучше, чтобы это имело смысл.Сопоставьте две модели с подходящим свойством новой модели
У меня есть две модели - BuyerProfile
и Producerprofile
BuyerProfile
public class BuyerProfile : IAuditTrack
{
[KeyProperty(Identity = true)]
public int Id { get; set; }
[Required]
public string UserId { get; set; }
[Required]
public string Name { get; set; }
[Required]
public int BuyerTypeId { get; set; }
[Required]
public string Address { get; set; }
[Required]
public string City { get; set; }
[Required]
public string State { get; set; }
public string Zipcode { get; set; }
public string Description { get; set; }
[NonStored]
public string BuyerTypeDisplay { get; set; }
}
ProducerProfile
public class ProducerProfile : IAuditTrack
{
[KeyProperty(Identity = true)]
public int Id { get; set; }
[Required]
public string UserId { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Address { get; set; }
[Required]
public string City { get; set; }
[Required]
public string State { get; set; }
public string Zipcode { get; set; }
public string Description { get; set; }
}
У меня есть простой метод на мой контроллер, который извлекает все профили в базе данных и concatenates
их вместе.
[HttpGet]
public JsonResult GetAllProfiles()
{
var buyerProfiles = _profileService.GetAllBuyerProfiles();
var producerProfiles = _profileService.GetAllProducerProfiles();
var profiles = buyerProfiles.Concat(producerProfiles);
return Json(profiles, JsonRequestBehavior.AllowGet);
}
Теперь то, что я хотел бы сделать, это быть в состоянии найти каждый BuyerProfile
и ProducerProfile
что одни и те же UserId
и объединить их вместе в новую модель, которая будет выглядеть следующим образом:
public class BuyerProducerprofile
{
public string UserId { get; set; }
public string BuyerName { get; set; }
public string ProducerName { get; set; }
}
существующая система, которую я создаю, позволяет пользователям только заполнить 1 BuyerProfile
и 1 ProducerProfile
.
Так, например, в наборе результатов я мог бы BuyerProfile
, который содержит следующую информацию:
- Id -> 1543
- UserId -> абв123
- Имя -> Боба Покупка компании
и ProducerProfile
, который содержит следующую информацию:
- Id -> 1678
- UserId -> абв123
- Имя -> Боба Продукция компании
Я хотел бы, чтобы иметь возможность объединить два в моей новой модели, так что это выглядит примерно так :
- UserId -> абв123
- BuyerName -> Боба о покупке компании
- ProducerNam е -> Продукция компания Боб
Я не уверен, если это вообще возможно без использования какого-то Nuget
пакета, но это было бы удивительным, если бы я не должен использовать тот, который я еще не иметь.
Я также в настоящее время использую AutoMapper
, чтобы выполнить некоторые из моих сопоставлений, но я не смог найти документацию, показывающую возможность ее использования.
Вы используете какие-либо структуры для доступа к своей базе данных? таких как Entity Framework? –