0

MVC 5 인터넷 응용 프로그램을 코딩하고 있는데 여기에서 전자 메일을 보내야 할 많은 Account 객체를 검색 한 다음 전자 메일을 보냅니다. 전자 메일을 보낸 후에 각 Account 개체의 DateTime 필드를 업데이트하여 전자 메일이 전송되었음을 나타내는 값을 저장해야합니다.엔티티 프레임 워크 - 함수 또는 함수 완료 후 객체를 편집해야합니까?

여기 내 코드 :

public async Task SendDailyExpirationEmails(int dayInterval) 
{ 
    IEnumerable<Account> freeTrialAccounts = GetFreeTrialAccountsForSendDailyExpirationEmails(dayInterval).ToList(); 
    IEnumerable<Account> paidServiceAccounts = GetPaidServiceAccountsForSendDailyExpirationEmails(dayInterval).ToList(); 
    await SendFreeTrialSubscriptionExpirationEmails(freeTrialAccounts); 
    await SendPaidSubscriptionExpirationEmails(paidServiceAccounts); 
} 

SendEmail 기능은 freeTrialAccountspaidServiceAccounts 모두 상기 IEnumerableAccount 통해 각 루프에 ForEach Loop를 사용한다.

내가 SendEmail 기능이 완성 된 두 후 또는 SendEmail 함수 내에서 DateTime 필드를 업데이트해야 :

내 질문은 이것이다?

이 상황에 대한 일반적인 코딩 방법이 있습니까?

미리 감사드립니다.

답변

0

데이터베이스 호출을 줄이면서 가능한 한 정확하도록 DateTime 값의 정밀도를 유지하려면 전자 메일을 보내 자마자이를 기록하고 전자 메일 프로세스가 끝날 때까지 정보를 보관하십시오 완료되었습니다.

나는 각 이메일이 전송 된 후에 클래스 속성을 유지하고 모든 이메일이 전송되면 데이터베이스에 전화를 걸어 전송 된 날짜/시간을 업데이트한다고 말합니다.

다른 작업/작업/응용 프로그램에서 가능한 빨리 정보를 사용하는 경우 전자 메일을 보내 자마자 데이터를 유지해야합니다. 그렇지 않으면 지연 문제가 발생하지 않습니다.