Я написал трехслойный веб-сайт с одноэлементным хранилищем для доступа к базе данных.Мои репозитории используют набор данных для подключения к базе данных и запроса из нее.
Я хочу протестировать сайт с помощью тестового проекта Visual Studio 2010, но когда я создаю TableAdapter набора данных в репозитории, в тестовом приложении я получил следующую ошибку:
System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта.
код работает правильно, когда я использую репозиторий изнутри сайта, но в тестовом приложении я получил эту ошибку.
одно из моих репозиториев, которое я получил с этой ошибкой, следующее:
public sealed class VehicleRepository
{
private readonly int gateCode;
private readonly VehicleTableAdapter vehicleSet;
private readonly VehicleTypeTableAdapter vehicleTypeSet;
private static VehicleRepository instance;
private VehicleRepository()
{
var configureTable = new ConfigurationTableAdapter();
--->>> var configuration = configureTable.GetData().ToList();
if (configuration.Count == 0)
throw new UserInterfaceException("some message");
if (configuration.Count != 1)
throw new UserInterfaceException("some message");
gateCode = configuration[0].GateCode;
vehicleSet=new VehicleTableAdapter();
vehicleTypeSet=new VehicleTypeTableAdapter();
}
public static VehicleRepository GetInstance()
{
return instance ?? (instance = new VehicleRepository());
}
public Vehicle GetVehicleByPlaque(string plaque)
{
.....
}
private static Vehicle ConvertVehicleRowToVehicle(TransportCo.VehicleRow vehicleRow,TransportCo.VehicleTypeRow vehicleTypeRow)
{
....
}
public void SaveOrUpdate(Vehicle vehicle)
{
...
}
private static void UpdateVehicle(Vehicle vehicle)
{
...
}
}
Я получил ошибку в строке --- >>>.кто-нибудь знает проблему?