Я работаю над приложением списка рассылки, где у нас есть возможность проверить тестовые электронные письма, проверить форматирование и прочее перед отправкой в полный список.
У меня есть «живая» таблица списка и «тестовая» таблица списка, настроенные одинаково. Я использую Linq2SQL для доступа к данным из SQL Server 2005.
Мой мыслительный процесс, чтобы избежать дублирования кода, состоит в том, чтобы передать bool для обозначения тестовой партии. Проблема, с которой я сейчас сталкиваюсь, заключается в том, как мне привести мой TestEmailList
объект к моему EmailList
объекту (которые оба определены как одинаковые).
IQueryable<EmailList> emailAddresses = null;
if (!isTestSend)
{
// Commented out to avoid an "oops"
//emailAddresses = emailRepository.GetAllActiveEmailAddresses(mailingList);
}
else
{
emailAddresses = (IQueryable<EmailList>)testEmailRepository.GetAllActiveEmailAddresses(mailingList);
}
При попытке использовать приведенный выше код появляется следующее сообщение об ошибке.
Невозможно привести объект типа 'System.Data.Linq.DataQuery 1[CivicCenterEventEmail.Models.TestEmailList]' to type 'System.Linq.IQueryable
1 [CivicCenterEventEmail.Models.EmailList]'.
Кроме того, если есть лучший способ сделать это, пожалуйста, просветите меня.