Nerd Dinner
응용 프로그램을 통해 작업했습니다. 내가 처음 Entity Framework 4.1
코드를 사용하고부모 개체 및 자식 개체를 삽입하기 전에 자식 개체 추가
NerdIdentity nerd = (NerdIdentity)User.Identity;
dinner.HostedById = nerd.Name;
dinner.HostedBy = nerd.FriendlyName;
RSVP rsvp = new RSVP();
rsvp.AttendeeNameId = nerd.Name;
rsvp.AttendeeName = nerd.FriendlyName;
dinner.RSVPs.Add(rsvp);
dinnerRepository.Add(dinner);
dinnerRepository.Save();
: 작업을 만들기 방법들은 다음과 같은 코드가 있습니다. 나는 다음을 수행 내 서비스 계층에서
public class GrantApplication
{
public int Id { get; set; }
// Other properties
public virtual ICollection<AuditEntry> AuditEntries { get; set; }
}
, 그것을 무엇 얼간이 저녁 식사와 같은 :
public void Insert(GrantApplication grantApplication)
{
// Add audit entry
grantApplication.AuditEntries.Add(new AuditEntry
{
NewValue = grantApplication.GrantApplicationStateId,
AuditDate = currentDateTime,
EmployeeNumber = submitterEmployeeNumber
});
// Insert the new grant application
grantApplicationRepository.Insert(grantApplication);
}
내 AuditEntry 클래스 :
public class AuditEntry
{
public int Id { get; set; }
public int OldValue { get; set; }
public int NewValue { get; set; }
public DateTime AuditDate { get; set; }
public string EmployeeNumber { get; set; }
}
여기
내
GrantApplication
클래스
내 컨텍스트 클래스 :
public class HbfContext : DbContext
{
public DbSet<Bank> Banks { get; set; }
public DbSet<AccountType> AccountTypes { get; set; }
public DbSet<GrantApplication> GrantApplications { get; set; }
public DbSet<AuditEntry> AuditEntries { get; set; }
protected override void OnModelCreating(DbModelBuilder dbModelBuilder)
{
}
}
grantApplication.AuditEntries가 null이므로 감사 항목 객체를 추가 할 수 없다는 오류가 발생합니다. 내 이유는 null이지만 저녁 식사 .RSVP는 RSVP 개체를 추가하려고하면 null이 아닙니다. 내가 어떻게 고칠 수 있니?
HbfContext에 AuditEntries를 추가해야합니까? 나는 그것을 자신의 것으로 사용하지 않을 것이라는 의미입니다. GrantApplication이 편집 될 때만 사용됩니다.
내가 얼간이 저녁 식사의 이전 버전을 사용해야하지만,이 같은 모양 만들기의 나 무엇
UPDATE :
[HttpPost, Authorize]
public ActionResult Create(Dinner dinner)
{
if (ModelState.IsValid)
{
NerdIdentity nerd = (NerdIdentity)User.Identity;
dinner.HostedById = nerd.Name;
dinner.HostedBy = nerd.FriendlyName;
RSVP rsvp = new RSVP();
rsvp.AttendeeNameId = nerd.Name;
rsvp.AttendeeName = nerd.FriendlyName;
dinner.RSVPs.Add(rsvp);
dinnerRepository.Add(dinner);
dinnerRepository.Save();
return RedirectToAction("Details", new { id=dinner.DinnerID });
}
return View(dinner);
}
아마도 Nerd Dinner의 새로운 버전 일 것이지만 원래 게시물을 업데이트했습니다. 그냥 가서 목록을 만들어 보겠습니다. –