如何处理这些实体..?
How to handle these entities..?
我有 3 个模型:
Participant
Event
Enrollment
他们每个人在数据库中都有自己的表。目标是能够在一页上查看 Event
模型数据、Enrollment
模型数据并创建 Participant
。
注册显示 Participants
中谁被分配到 Event
。
问题:如何将 Participant
分配给 Event
以便我可以使用 Enrollment
?
P. S. 如果您需要更多信息,请告诉我。对于给您带来的不便,我们深表歉意...
public class Event
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime Date { get; set; }
public string Location { get; set; }
public string Comment { get; set; }
public ICollection<Enrollment> Enrollments { get; set; }
//public ICollection<EventAssignment> EventAssignments { get; set; }
}
public class Participant
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string PersonalCode { get; set; }
public string PaymentType { get; set; }
public string Comment { get; set; }
public ICollection<Enrollment> Enrollments { get; set; }
}
public class Enrollment
{
public int ID { get; set; }
public int EventID { get; set; }
public int ParticipantID { get; set; }
public Participant Participant { get; set; }
public Event Event { get; set; }
}
//Creating Participant
public async Task<IActionResult> OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
_context.Participants.Add(Participant);
await _context.SaveChangesAsync();
return RedirectToPage("/Participants/Index");
}
哇。多么简单 :D
public async Task<IActionResult> OnPostAsync(int id)
{
if (!ModelState.IsValid)
{
return Page();
}
_context.Participants.Add(Participant);
await _context.SaveChangesAsync();
// Just creating new Enrollment depending on page id for eventID
// and getting just created Participant.ID as ParticipantID
var enr = new Enrollment()
{
EventID = id,
ParticipantID = Participant.ID
};
_context.Enrollments.Add(enr);
await _context.SaveChangesAsync();
return RedirectToPage("/Participants/Index");
}
我有 3 个模型:
Participant
Event
Enrollment
他们每个人在数据库中都有自己的表。目标是能够在一页上查看 Event
模型数据、Enrollment
模型数据并创建 Participant
。
注册显示 Participants
中谁被分配到 Event
。
问题:如何将 Participant
分配给 Event
以便我可以使用 Enrollment
?
P. S. 如果您需要更多信息,请告诉我。对于给您带来的不便,我们深表歉意...
public class Event
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime Date { get; set; }
public string Location { get; set; }
public string Comment { get; set; }
public ICollection<Enrollment> Enrollments { get; set; }
//public ICollection<EventAssignment> EventAssignments { get; set; }
}
public class Participant
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string PersonalCode { get; set; }
public string PaymentType { get; set; }
public string Comment { get; set; }
public ICollection<Enrollment> Enrollments { get; set; }
}
public class Enrollment
{
public int ID { get; set; }
public int EventID { get; set; }
public int ParticipantID { get; set; }
public Participant Participant { get; set; }
public Event Event { get; set; }
}
//Creating Participant
public async Task<IActionResult> OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
_context.Participants.Add(Participant);
await _context.SaveChangesAsync();
return RedirectToPage("/Participants/Index");
}
哇。多么简单 :D
public async Task<IActionResult> OnPostAsync(int id)
{
if (!ModelState.IsValid)
{
return Page();
}
_context.Participants.Add(Participant);
await _context.SaveChangesAsync();
// Just creating new Enrollment depending on page id for eventID
// and getting just created Participant.ID as ParticipantID
var enr = new Enrollment()
{
EventID = id,
ParticipantID = Participant.ID
};
_context.Enrollments.Add(enr);
await _context.SaveChangesAsync();
return RedirectToPage("/Participants/Index");
}