C# 数据库实体框架并发更新时的分页符

C# 数据库实体框架并发更新时的分页符,c#,asp.net,entity-framework,concurrency,sql-update,C#,Asp.net,Entity Framework,Concurrency,Sql Update,伙计们,我使用的是EF4.1,当10多个用户试图同时更新DB时,我遇到了一个奇怪的问题,页面上说OBJECT REFERENCE未设置为OBJECT的实例。然而,如果有3-4个用户同时进行更新,它就可以正常工作。下面是我更新数据库的代码: private void UpdateBuilding(BuildingDetails buildingDetail, int homePolicyID) { //update building details HomePolicyItems

伙计们,我使用的是EF4.1,当10多个用户试图同时更新DB时,我遇到了一个奇怪的问题,页面上说OBJECT REFERENCE未设置为OBJECT的实例。然而,如果有3-4个用户同时进行更新,它就可以正常工作。下面是我更新数据库的代码:

private void UpdateBuilding(BuildingDetails buildingDetail, int homePolicyID)
{
    //update building details

    HomePolicyItems_ValuablesController homePolicyItems_ValuablesController = new HomePolicyItems_ValuablesController();
    var homeItemValuablesController = new HomeItemValuablesController();
    HomeItems homeItem_BuildingDetails = homeItemsController.GetBuildingByID(buildingDetail.intID); // homeItemsController is instantiated at class level
    var hpi = homePolicyItemsController.GetByHomeItemId(buildingDetail.intID); // homePolicyItemsControlleris instantiated at class level
    var hpi_valList = homePolicyItems_ValuablesController.GetByHomePolicyItemsId(hpi.intID);
    foreach (var hpi_val in hpi_valList)
    {
        var valuable = homeItemValuablesController.GetById(hpi_val.intValuableID.GetValueOrDefault());
        homeItemValuablesController.Delete(valuable);
        homePolicyItems_ValuablesController.Delete(hpi_val);
    }
    homeItem_BuildingDetails.intID = buildingDetail.intID;
    homeItem_BuildingDetails.intAddressID = buildingDetail.AddressID;// = addressController.Add(address);

    homeItemsController.Update(homeItem_BuildingDetails);

 }
更新方法定义

public bool Update(HomeItems homeItems)
{
    if (homeItems == null)
    {
        throw new ArgumentNullException("vehicleMake");
    }
    HomeItems savedHomeItems = null;
    try
    {
        savedHomeItems = _Operations.Update(homeItems);
        _Operations.SaveChanges();
    }
    catch (Exception ex)
    {
        LoggingController.LogErrorMessage("HomeItemsController-Failed to update HomeItems with ID " + homeItems.intID.ToString());
        ExceptionManager.ExceptionMessage = "Could not Update records for ID: " + homeItems.intID.ToString();
        return false;
    }
    return savedHomeItems != null;
}
_操作只是我的上下文类的一个对象


有人能告诉我问题和解决方案吗?

处理好数据上下文对象,放入using语句中,应该很好谢谢@humayun。现在似乎在工作。