linq를 asp.net C# 웹 응용 프로그램에 사용하는 DataContexts에 몇 가지 문제가 있습니다.외래 키 필드를 업데이트하기 전에 폐기 된 DataContext
내가 처음으로 DataContext를 처리하지 않았으므로 예외가 발생했습니다. 이는 this question과 같은 오류입니다. 나는 왜 적절히 처리되지 않았고, this과 몇 개의 다른 기사를 읽은 후에 정적 데이터 컨텍스트를 사용하여 모든 명령문을 사용하여 확실히 처리 할 수 있도록했습니다.
그러나 DataContext 이미 처리 된 것처럼 외래 키를 업데이트해야 할 때 문제가 발생했습니다. 나는 왜 그것이 이미 처분되었는지,이 시나리오에서 가장 좋은 방법이 무엇인지에 대해 확신 할 수 없기 때문에 어떤 아이디어라도 크게 감사 할 것입니다!
여기짧은 예 :
업데이트 : 나는 그래서 여기에 더 이상입니다 가능한 한 짧게 만들려고 할 때 내 예를 들어이 너무 복잡하다고 생각 잘하면 더 나은 예 :
private static void SendTexts(List<TextAlert> TextQueue)
{
using (THTDataContext db = new THTDataContext())
{
foreach (TextAlert text in TextQueue)
{
try
{
// do IntelliSMS stuff
// set status to 'sent'
text.Status = 1;
db.SubmitChanges();
}
catch (IntelliSMSException ex)
{
// set status to 'failed'
text.Status = 2;
db.SubmitChanges();
}
}
}
}
감사합니다 ,
Annelie
저는 2 번이 실제로 의미하는 바를 항상 고마워했습니다. 감사합니다! ;) 진지하게도 마법의 숫자가 그날을 보았고, "enum"이 더 효과적 일 것입니다 (다른 것은 없다면 가독성 측면에서). 그리고'Status'가'enum' 타입/값인 경우, 값을 할당하는 것보다 적절한 타입을 사용하는 것이 좋습니다. 주제에서 벗어나, 알아,하지만 괜찮은 정보라고 생각해. –
@ Mr. 실망 스러움 - 하하, 빠른 옵션을 택하는 대신에 시작 했어야했는데, 이제는 나이 먹을 일 목록에 포함되어 있습니다. :) – annelie
Linq2SQL에 의해 생성 된 DB 레코드를 "MyThing"하고 상태가 외래 키 필드입니까? 코드 스 니펫에서 실제로 수행중인 작업을 추측하는 것은 매우 어렵습니다. – Christoph