我正在使用linq实体, 我的实体模型位于MSSQL数据库之上。
我想知道实体的linq是否会抛出SqlExceptions。
换句话说,如果连接数据库时出现问题,下面的代码是否会成功捕获异常?
如果没有,那么在将linq用于实体时处理异常的最佳方法是什么?
using (MyUserEntities userEntities = new MyUserEntities(connectionString))
{
try
{
if (userEntities.Users.Any<User>(userInDB =>
userInDB.UserName == username))
{
//Do Something
}
else
{
//Do Something else
}
}
catch(SqlException e)
{
}
}
答案 0 :(得分:1)
是的,如果您的功能中的任何进程导致问题,
userEntities.Users.Any<User>(userInDB =>
userInDB.UserName == username)
它将引发一个级联异常,它会被捕获。
尽管db连接有一个特定的超时设置,但有时这需要一段时间。
你为什么不测试它?你自己可以找到这个答案