없이 dbset의 레코드를 찾기나는 <code>Student</code> 테이블이 기본 키
var currentUserId = User.Identity.GetUserId();
var newid = db.Students.FirstOrDefault(d => d.UserID == currentUserId);
if (newid == null)
{
newid = db.Students.Create();
newid.UserID = currentUserId;
db.Students.Add(newid);
}
Student student = db.Students.Find(newid.UserID);
if (student == null)
{
return HttpNotFound();
}
내 질문에 내가 기록을 찾을 수 있습니까하지만 그의 기본 키를 사용할 수없는 방법입니다 ? 제 경우에는 IndividualInventoryRecord
에 기본 키 RecordID
이 있습니다. 내가 FK UserID
를 사용하여이 테이블에서 레코드를 찾으려면
나는 이것을 시도했지만 inventory
수익률은 데이터베이스에 저장되지 않으며, 때문에 나는 또한 SingleOrDefault()
만약'.FirstOrDefault() 'null을 반환하면 일치하는 레코드가 발견되지 않았다는 의미입니다. 그것은 성공적으로 작동하고 있습니다, 당신은 단지 데이터에서 제로 결과를 얻고 있습니다. (빈 콜렉션을 성공적으로 반환하는'.Where() '을 사용하는 것과 대조) – David
테이블에 currentUserId를 추가 한 이후로 네,하지만 레코드를 가져 오지 않았습니까? –
방금 추가 한 정확한 물체를 찾고 있다는 것이 이상합니다. 'userInv' 변수에 이미 그 객체가 있습니다. 어쩌면'.SaveChanges()'를 먼저 호출 할 필요가 있을까요? 그렇게 이상하게 만들지는 못하지만 효과가있을 수 있습니다. – David