 分类:
    .NET MVC
    
    分类:
    .NET MVC
万般皆下品,惟有编程高
我希望你是为我而来
如果我爱你,而你也正巧爱我。你头发乱了时候,我会笑笑地替你拨一拨,然后,手还留恋地在你发上多待几秒。但是,如果我爱你,而你不巧地不爱我。你头发乱了,我只会轻轻地告诉你,你头发乱了喔。这大概是最纯粹的爱情观,如若相爱,便携手到老;如若错过,便护她安好。
EF的三种模式分类:
DBFirst:数据库优先--》数据库生成代码,EF构建模型即可使用
ModelFirst:模型优先(用模型生成数据库)
CodeFirst:代码优先 (此模型相对比较灵活,写的代码较多)根据代码生成数据库
下面说一下ModelFirst模型的使用
1,先创建ADO.NET 实体数据模型
2,构建模型数据表,可以在属性里编辑字段是否为空,长度等-->如图

3,选择表间的外键关系

4,最后一步,从模型生成数据库(里面就是连接数据库,定义库名,So easy喔)就完美啦

由于生成的外键,我们的模型字段里会生成导航属性,如下
public partial class Users
    {
        public Users()
        {
            this.Sourse = new HashSet<Sourse>();
        }
    
        public int ID { get; set; }
        public string UserName { get; set; }
        public string Number { get; set; }
        public string Uclass { get; set; }
        public int ParentId { get; set; }
       //导航属性
        public virtual Parent Parent { get; set; }
        public virtual ICollection<Sourse> Sourse { get; set; }
    }因此我又想,这种模型的方式下,我们有没有特殊的方式在前台显示数据呢?
答案当然有啦.
1,查询两张有外键关联的表
 public ActionResult Index()
        {
            OAContainer oAContainer = new OAContainer();
            //一般联表查询
            Parent parent = oAContainer.Parent.Where(a => a.Father == "胡汉之").FirstOrDefault();
            List<Users> userList=oAContainer.Users.Where(a=>a.ParentId==parent.ID).ToList();
            ViewBag.parent = parent;
            return View(userList);
        }前台显示如下:\\

2,利用导航属性进行三表联查,封装代码如下:
public ActionResult virtualShow()
        {
            OAContainer oAContainer = new OAContainer();
            //Include("User"):就是left join 的意思
            Parent parent = oAContainer.Parent.Include("User").Where(a => a.Father == "胡汉之").FirstOrDefault();
            return View(parent);
        }前台显示如下:\\

好啦,ModelFirst模型的创建和应用就到这里了,下一篇分享CodeFirst模型
喜欢的朋友可以点赞加关注哦。
评价
    
                    排名
                
                
                    6
                
            
                    文章
                
                
                    6
                
            
                    粉丝
                
                
                    16
                
            
                    评论
                
                
                    8
                
            
            {{item.articleTitle}}
            
    {{item.blogName}} : {{item.content}}
        
            ICP备案  :渝ICP备18016597号-1
        
        
            网站信息:2018-2025TNBLOG.NET
        
        
            技术交流:群号656732739
        
        
            联系我们:contact@tnblog.net
        
        
            公网安备: 50010702506256
50010702506256
        
     50010702506256
50010702506256
         
        
            欢迎加群交流技术
        
     
         
         
        