工作统一+丰富的域名

时间:2016-04-23 21:12:50

标签: c# unit-of-work rich-domain-model

我试图用工作单元来实现丰富的模型。

interface IUser: ICommitable
    {
        void Create(User user);
        void Delete();
        void EditName(string name);
        void EditLastName(string lastName);
        void EditEmail(string email);
        void EditPassword(string password);
        void GenerateToken();
        string GetToken();
        void UpdateLoginDate();
    }

构建运行正常,但在此类中,工作单元为空。

我确实有这个类的接口。

container.RegisterType<IUser, User>();

在UnityConfig.cs,我注册了类型

{{1}}

为什么工作单元没有被初始化,我该如何解决?

1 个答案:

答案 0 :(得分:0)

所以我发现了错误 我没有使用IUser接口来调用模型方法。

 public class UsersController : ApiControllerBase
    {


        [HttpPost]
        [AllowAnonymous]
        public DtoResultBase CreateUser(User user)
        {
            return Resolve(() =>
            {
                user.Create(user);
                user.Commit();
                return new DtoResultBase();
            });
        }

现在控制器中实现了接口:

 public class UsersController : ApiControllerBase
    {

        private IUser UserBusiness;

        public UsersController(IUser userBusiness)
        {
            UserBusiness = userBusiness;
        }


        [HttpPost]
        [AllowAnonymous]
        public DtoResultBase CreateUser(User user)
        {
            return Resolve(() =>
            {
                UserBusiness.Create(user);
                UserBusiness.Commit();
                return new DtoResultBase();
            });
        }