我程序中有两个类
存储用户信息的UserInfo表:
userId,userName,userPwd,departId
id,用户名,密码,部门ID
存储部门信息的表Department:
departId,departName,userId:部门ID,部门名称,负责人ID
userId是外键我建立了两个类,UserInfo和DepartInfo类
UserInfo类: public class UserInfo
    {        private string userId;
        private DepartInfo department;
        private string userName = String.Empty;
        private string password = String.Empty;        public UserInfo() { }        public string UserId
        {
            get { return this.userId; }
            set { this.userId = value; }
        }        public DepartInfo Department
        {
            get { return this.department; }
            set { this.department = value; }
        }        public string UserName
        {
            get { return this.userName; }
            set { this.userName = value; }
        }
        public string Pwd
        {
            get { return this.password; }
            set { this.password = value; }
        }
    }DepartInfo类:public class DepartInfo
    {        private int departId;
        private UserInfo user;
        private string departName = String.Empty;
        private string address;
        public DepartInfo() { }        public int DepartId
        {
            get { return this.departId; }
            set { this.departId = value; }
        }        public UserInfo User
        {
            get { return this.user; }
            set { this.userId = value; }
        }
               public string DepartName
        {
            get { return this.departName; }
            set { this.departName = value; }
        }    }
问题出在DAL层上,两个层UserInfoService和DepartInfoService在UserInfoService层中要给UserInfo中的属性Department赋值就引用到DepartInfoService类,
在DepartInfoService中给DepartInfo.User赋值就引用了UserInfoService.这样就导致了循环引用的问题,导致堆栈溢出.请问该怎么解决这个问题呢?

解决方案 »

  1.   


    类似
    楼表
    id   房间号 type(1:"第一栋楼")家具表
    id name 房间中家具表
    id  家具id  数量  房间号
      

  2.   

    对啊 我知道是我写的代码问题,但是怎么解决呢?
    现在我的代码确实肯定会导致溢出,A中引用B 不中又引用A,A中再引用B....
      

  3.   

      http://www.maticsoft.com/
      
     首先 UserInfoService和DepartInfoService  并非 两个层 如果 你放在两个层里   那就
      

  4.   

    可能是你的思路有问题,如果循环调用,说明你的DAL耦合度很高,这种设计方式就已经错了。实在不行就弄个视图吧。总感觉你的表建的不是太好。
      

  5.   

    UserInfoService和DepartInfoService 是在数据访问层里的
      

  6.   

    www.zhuozhourencai.com  我的站刚刚弄好 哈哈