使用我的UnitOfWork模式返回NULL

时间:2017-03-08 07:25:40

标签: c# asp.net entity-framework model-view-controller repository-pattern

我正忙着一个名为StockRoom的项目,但我遇到了一个问题,我可以解决几天的问题。我使用ASP.NET和MVC的存储库模式,但我的问题是我的IUnitOfWork在调用它时将其保存到数据库中时返回null。

以下是我在IUnitOfwork中使用的代码:

public interface IUnitOfWork : IDisposable
    {
        ICompanyRepository Companies { get; }

        void Commit();
    }

存储库:

public interface ICompanyRepository : IRepository<Company>
{
    IEnumerable<Company> GetAllCompanies();
}

我称之为IUnitOfWork的控制器和操作:

protected **IUnitOfWork UnitOfWork** { get; private set; }

public ActionResult Create(**Company company**)
    {
        if (ModelState.IsValid)
        {
            company.Created = DateTime.Now;
            company.Updated = DateTime.Now;

            try
            {
                **UnitOfWork.Companies.Add(company);**
            }
            catch(Exception e)
            {
                Debug.Print(""+ e);
            }

            UnitOfWork.Commit();


            return RedirectToAction(nameof(Index));
        }
        else
        {
            return View();
        }
    }

每次当我尝试将公司参数中的属性保存到公司时,UnitOfWork是否返回null?

0 个答案:

没有答案