Я использую EntitySpaces для всего, что связано с моей базой данных. Как единственный разработчик, у меня нет времени сидеть и писать SQL для каждого приложения, которое я пишу, поэтому использование генератора, такого как ES Suites, позволяет мне работать на земле и экономит мне дни, если не недели, *. 1001 *
Обычно я пишу серию вспомогательных классов для каждой из таблиц, которые использует мое приложение. Проблема, с которой я столкнулся, заключается в том, что я не знаю, как лучше всего справляться с какими-либо таймаутами SQL или неудачными соединениями, за исключением того, чтобы придерживаться метода Try-catch вокруг каждого метода, который имеет дело с возвратом данных.
В EntitySpaces соединение SQL создается и выполняется только при выполнении любого типа команды CRUD.
Например:
public TblUserCollection GetCollection()
{
TblUserCollection collection = new TblUserCollection();
collection.Query.Where(collection.Query.CompanyId == CompanyId);
collection.Query.OrderBy(collection.Query.FullName, esOrderByDirection.Ascending);
collection.Query.Load();
return collection;
}
Этот метод вызывается, когда моему вспомогательному классу говорят назначить ComboBox список пользователей определенной компании. Затем метод вызывает это, и я присваиваю данные списку. У меня есть около 30 таких точек, все они называются GetCollection () в специальных классах для таблиц.
Помимо простого написания метода как:
public TblUserCollection GetCollection()
{
try
{
TblUserCollection collection = new TblUserCollection();
collection.Query.Where(collection.Query.CompanyId == CompanyId);
collection.Query.OrderBy(collection.Query.FullName, esOrderByDirection.Ascending);
collection.Query.Load();
return collection;
}
catch (System.Data.SqlClient.SqlException ex)
{
//
}
}
Что еще я могу сделать?