FineUI 官方论坛

标题: 如何读取有关联的不同数据表间的Model信息 [打印本页]

作者: szjazz    时间: 2014-2-12 23:53
标题: 如何读取有关联的不同数据表间的Model信息
学习过程中,发现三层结构的Model模型有个问题,不知如何解决:数据表:user、dept,它们存在之间的关联,如何能做到读取user的Model数据时,也能读取到该User所在的Dept信息,现在我参照三石先生的Appbox也写了相应的model,但因为本人还没学习EF,之前只看过MVC三层结构编程方法,所以,不知如何套用EF能实现读到数据,并且如何调用,请知情的大师们指导,非常感谢!
user的Model:
  1.    public class User
  2.     {
  3.        public int UserId { get; set; }
  4.        public string UserName{get;set;}
  5.        public string PassWord { get; set; }

  6.        public virtual ICollection<Dept> Dept { get; set; }
  7.        public virtual ICollection<Role> Roles { get; set; }
  8.     }
复制代码

dept的Model:
  1.     public class Dept
  2.     {
  3.         public int ID { get; set; }
  4.         public string Name { get; set; }
  5.         public int SortIndex { get; set; }
  6.         public string Remark { get; set; }

  7.         public virtual Dept Parent { get; set; }
  8.         public virtual ICollection<Dept> Children { get; set; }

  9.         public virtual ICollection<User> Users { get; set; }

  10.     }
复制代码
看了Appbox,用EF的话,好像是用下列代码读取到
  1. User current = DB.Users
  2.                 .Include(u => u.Dept)
  3.                 .Include(u => u.Roles)
  4.                 .Include(u => u.Titles)
  5.                 .Where(u => u.ID == id).FirstOrDefault();
复制代码






作者: 小兵    时间: 2014-2-13 09:47
真心的不懂EF啊。落伍了。




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4