C# AdventureWorks从数据库中删除失败的测试
我有AdventureWorks数据库中的下表,您可以在此处看到我的模型: , 这是我的存储库服务C# AdventureWorks从数据库中删除失败的测试,c#,unit-testing,adventureworks,argumentnullexception,C#,Unit Testing,Adventureworks,Argumentnullexception,我有AdventureWorks数据库中的下表,您可以在此处看到我的模型: , 这是我的存储库服务 public class EmployeeRepository : IEmployeeRepository { private AdventureWorksEntities dataBaseContext = new AdventureWorksEntities(); public IQueryable <Employee> Employees {
public class EmployeeRepository : IEmployeeRepository
{
private AdventureWorksEntities dataBaseContext = new AdventureWorksEntities();
public IQueryable <Employee> Employees
{
get
{
return dataBaseContext.Employees;
}
}
public bool SaveEmployee(Employee employee)
{
try{
dataBaseContext.Employees.AddObject(employee);
dataBaseContext.SaveChanges();
return true;
}
catch
{
return false;
}
}
public bool DeleteEmployee(int employeeId)
{
try
{
var employeeToDelete = from e in dataBaseContext.Employees
where e.EmployeeID == employeeId
select e as Employee;
dataBaseContext.Employees.DeleteObject((Employee)employeeToDelete.FirstOrDefault());
dataBaseContext.SaveChanges();
return true;
}
catch
{
return false;
}
}
}
我在DeleteEmployee方法中有一个System.ArgumentException。employeeToDelete变量为null
以下是来自exception的信息
System.ArgumentNullException: Value cannot be null.
Parameter name: entity
at System.Data.EntityUtil.ThrowArgumentNullException(String parameterName)
at System.Data.EntityUtil.CheckArgumentNull[T](T value, String parameterName)
at System.Data.Objects.ObjectContext.DeleteObject(Object entity, EntitySet expectedEntitySet)
at System.Data.Objects.ObjectSet`1.DeleteObject(TEntity entity)
at AdventureWorks.Domain.RepositoryServices.EmployeeRepository.DeleteEmployee(Int32 employeeId) in D:\dokumenty\Visual Studio 2010\Projects\Kainos\MVC3-Adventure-Works\AdventureWorks\AdventureWorks.Domain\RepositoryServices\EmployeeRepository.cs:line 45
不捕获异常以便查看抛出的内容如何???是的,我获取了system.argumentnullexception如何不捕获异常以便查看抛出的内容???是的,我获取了system.argumentnullexception
System.ArgumentNullException: Value cannot be null.
Parameter name: entity
at System.Data.EntityUtil.ThrowArgumentNullException(String parameterName)
at System.Data.EntityUtil.CheckArgumentNull[T](T value, String parameterName)
at System.Data.Objects.ObjectContext.DeleteObject(Object entity, EntitySet expectedEntitySet)
at System.Data.Objects.ObjectSet`1.DeleteObject(TEntity entity)
at AdventureWorks.Domain.RepositoryServices.EmployeeRepository.DeleteEmployee(Int32 employeeId) in D:\dokumenty\Visual Studio 2010\Projects\Kainos\MVC3-Adventure-Works\AdventureWorks\AdventureWorks.Domain\RepositoryServices\EmployeeRepository.cs:line 45