
万般皆下品,惟有编程高
我希望你是为我而来
如果我爱你,而你也正巧爱我。你头发乱了时候,我会笑笑地替你拨一拨,然后,手还留恋地在你发上多待几秒。但是,如果我爱你,而你不巧地不爱我。你头发乱了,我只会轻轻地告诉你,你头发乱了喔。这大概是最纯粹的爱情观,如若相爱,便携手到老;如若错过,便护她安好。
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模型
喜欢的朋友可以点赞加关注哦。
评价
排名
13
文章
64
粉丝
20
评论
30
MUI框架页面间的传值指针
XingDy姐 :
不错哦
MUI框架页面间的传值指针
剑轩 :
接口的真实地址可以用xx/yy什么的代替哦,真实地址还是隐藏一下好
.NET EF 用户按钮权限
YOU : 可以,在写文章的时候,有需要写代码的地方,可以选择编辑器上的代...
.NET EF 用户按钮权限
剑轩 : 哈哈哈哈,你这个追女生的逻辑
EF三种模式解析
剑轩 :
好文采!
重要sql语句和linq,lamdba分组条件查询语句
剑轩 : 开头那句诗句写得很好哇!
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术
剑轩