그래서 나는 많은 것을 많은 관계로 만들기 위해 EF6
을 파악하려고 노력하고 있으며 Identity 2.0
을 사용하고 있습니다. Visual Studio 2013 및 MVC 5 템플릿입니다. 객체에 Identity 2.0 사용자를 추가하는 방법
public class Meeting
{
public Guid MeetingID { get; set; }
public string Title { get; set; }
public virtual ICollection<ApplicationUser> Attendees { get; set; }
}
public class ApplicationUser : IdentityUser
{
public ICollection<Meeting> Meetings { get; set; }
}
가 그럼 난
Meetings
의 컨트롤러와 뷰를 스캐 폴딩 :
나는 다음과 같은 모델과 새로운 MVC 응용 프로그램을 가지고있다.
public ActionResult Create(Meeting meeting)
{
if (ModelState.IsValid)
{
meeting.MeetingID = Guid.NewGuid();
db.Users.ForEachAsync(u => meeting.Attendees.Add(u));
db.Meetings.Add(meeting);
db.SaveChanges();
return RedirectToAction("Index");
}
else...
}
내가 그것을 생각하지 않습니다하지만 : 자, 예를 들어, 난 그냥 원한다면 내 meeting
에 attendee
으로 모든 user
을 추가, 나는 다음과 같이 할 수 Create
조치를 수정할 수 있다고 상상 내 LocalDB
에 표시되지 않기 때문에 노력하고 내가 회의에 대한 상세 뷰에 이것을 추가하면 내가 어떤 결과를 얻을 : 최종 참고로
@{foreach (var item in Model.Attendees)
{
<li>@item.UserName</li>
}}
을, 나는 LocalDB 테스트에서 두 명의 사용자를 가지고 test2.
이 튜토리얼 또는 문서를 통해이 작업을 수행 할 수 있습니까?
* 편집 *
그래서 난 당신의 제안 (내가 비동기에 익숙하지 오전 기다리고 그것을 구현하는 방법, 인정한다) 시도, 나는에 저를 허용하는 컨트롤러를 수정했다 사용은 내가 올바르게 지금이 일을하고있어 잘 모르겠어요 그래서 기다리고 있습니다,하지만 난 컴파일하려면 다음 있고 난의 오류 '객체 참조가 개체의 인스턴스로 설정되지 않았습니다'실행 얻을 :
public async Task<ActionResult> Create(Meeting meeting)
{
if (ModelState.IsValid)
{
meeting.MeetingID = Guid.NewGuid();
await db.Users.ForEachAsync(u => meeting.Attendees.Add(u));
db.Meetings.Add(meeting);
db.SaveChanges();
을
(Entity Framework에서 내 모델의 일부 설정이 누락되었을 수 있습니까? 프로젝트는 위에 표시된 코드와 기본값을 더한 것입니다.) 응용 프로그램은 행복에 계속 저장 await
없이
await db.Users.ForEachAsync(u => meeting.Attendees.Add(u));
:
당신은 자신 :)
(드럼 롤)을 걷어차려고