我将 EntitySpaces 用于所有与数据库相关的编码。作为一个单独的开发人员,我没有时间坐下来为我编写的每个应用程序编写 SQL,因此使用 ES 之类的生成器可以让我脚踏实地,为我节省几天甚至几周的时间。
我通常为我的应用程序使用的每个表编写一系列帮助程序类。我遇到的问题是,我真的不知道处理任何 SQL 超时或失败连接的最佳方法,除了在每个处理返回数据的方法周围粘贴一个 Try-catch。
在 EntitySpaces 中,只有在我运行任何类型的 CRUD 命令时才会构建和执行 SQL 连接。
例如:
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)
{
//
}
}
我还可以做些什么?