EF一对一关系数据添加

昨天突然想把用户表和登录表分开来放,然后使用一对一关系来设计数据库;

添加数据的时候感觉很好用;可以用任意一个Service来保存;

不罗嗦,直接上代码啦,下面是两种方式来存储数据;

请大家留下自己的见解。谢谢。

    #region Employee
            //创建一个中间层Employee对象
            IEmployeeService employeeService = new EmployeeService();
            //创建实体对象UserInfo
            UserInfo u = new UserInfo();
            u.Phone = "123123113";
            u.UserName = "管理员";
            u.Sex = 0;
            u.Address = "shjkfhkl";
            u.Sort = "0";
            u.Remark = "asjdlf";
            u.ModifiedOn = DateTime.Now;
            u.SubTime = DateTime.Now;
            //创建实体对象Employee
            Employee e = new Employee();
            e.LoginName = "Administrator";
            e.LoginPwd = "123";
            e.DelFlag = 0;
            //这里是关联Emploee表和UserInfo表数据
            e.UserInfo = u;
            //通过Employee对象来保存,,EF内部自动将其存储在两个表中;
            employeeService.Add(e);

            Assert.AreEqual(true, e.ID > 0); 
            #endregion

            #region UserInfo
            //创建UserInfo中间层对象
            IUserInfoService userInfoService = new UserInfoService();
            //创建Employee实体对象
            Employee employee = new Employee();
            employee.LoginName = "adm";
            employee.LoginPwd = "123";
            employee.DelFlag = 0;
            //创建UserInfo实体对象
            UserInfo userInfo = new UserInfo();
            userInfo.Phone = "123123113";
            userInfo.UserName = "管理员";
            userInfo.Sex = 0;
            userInfo.Address = "shjkfhkl";
            userInfo.Sort = "0";
            userInfo.Remark = "asjdlf";
            userInfo.ModifiedOn = DateTime.Now;
            userInfo.SubTime = DateTime.Now;
            //这里关联Employee和UserInfo实体对象
            userInfo.Employee = employee;
            //通过UserInfo实体对象来添加数据,EF内部自动将其存储在两个表中;
            userInfoService.Add(userInfo);
            Assert.AreEqual(true, userInfo.ID > 0); 
            #endregion

  

posted on 2013-11-05 09:33  徐荣权  阅读(769)  评论(0编辑  收藏  举报