《ASP.NET MVC3高级编程》学习笔记2
第4章:模型
public class Album {public virtual int AlbumId { get; set; }public virtual int GenreId { get; set; }public virtual int ArtistId { get; set; }public virtual string Title { get; set; }public virtual decimal Price { get; set; }public virtual string AlbumArtUrl { get; set; }public virtual Genre Genre { get; set; }public virtual Artist Artist { get; set; } } public class Artist {public virtual int ArtistId { set; get; }public virtual string Name { get; set; } } public class Genre {public virtual int GenreId { set; get; } public virtual string Name{ set; get; } }
public class MusicStoreDB : DbContext {public DbSet<Album> Albums { get; set; }public DbSet<Genre> Genres { get; set; }public DbSet<Artist> Artists { get; set; } }
private MusicStoreDB db = new MusicStoreDB();public ViewResult Index() {var albums = db.Albums.Include(a => a.Genre).Include(a => a.Artist);//预加载return View(albums.ToList()); }[HttpPost] public ActionResult Edit(Album album) {if (ModelState.IsValid)//验证模型修改的有效性 {db.Entry(album).State = EntityState.Modified;db.SaveChanges();return RedirectToAction("Index");}ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "GenreId", album.GenreId);ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);return View(album); }
Include方法表示采用预加载策略,把关联的数据尽可能的全加载进来。延迟加载的每一条记录在访问子对象时候会往数据库多发出一个额外的查询!
var albums = db.Albums//延迟加载
<connectionStrings><add name="MusicStoreDB"connectionString="data source .................."providerName="System.Data.SqlClient" /> </connectionStrings>
Database.SetInitializer(new DropCreateDatabaseAlways<MusicStoreDB>()); //框架提供两个IDatabaseInitializer的实现类: //DropCreateDatabaseAlways和DropCreateDatabaseIfModelChanges,见名知意
转载于:https://www.cnblogs.com/rehope/archive/2012/07/15/2592579.html
《ASP.NET MVC3高级编程》学习笔记2相关推荐
- 《TensorFlow技术解析与实战》——1.2 什么是深度学习
本节书摘来异步社区<TensorFlow技术解析与实战>一书中的第1章,第1.2节,作者:李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.2 什么是深 ...
- 《TensorFlow技术解析与实战》——第3章 可视化TensorFlow 3.1PlayGround
本节书摘来自异步社区<TensorFlow技术解析与实战>一书中的第3章,第3.1节,作者李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看 第3章 可视化Te ...
- 《TensorFlow技术解析与实战》——第3章 可视化TensorFlow
本节书摘来异步社区<TensorFlow技术解析与实战>一书中的第3章,作者:李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第3章 可视化TensorF ...
- 《TensorFlow技术解析与实战》——3.1 PlayGround
本节书摘来异步社区<TensorFlow技术解析与实战>一书中的第3章,第3.1节,作者:李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看. 3.1 Play ...
- 《TensorFlow技术解析与实战》——导读
前言 2017年2月,TensorFlow的首届开发者峰会(2017 TensorFlow Dev Summit)在美国的加利福尼亚州举行.在会上,谷歌公司宣布正式发布TensorFlow 1.0版本 ...
- TensorFlow学习笔记——《TensorFlow技术解析与实战》
著名历史学家斯塔夫里阿诺斯在<全球通史>中,曾以15世纪的航海在"物理上"连通"各大洲"作为标志将人类历史划分为两个阶段.在我正在写作的<互联 ...
- 《TensorFlow技术解析与实战》欢迎来到异步社区!
欢迎来到异步社区! 异步社区的来历 异步社区(www.epubit.com.cn)是人民邮电出版社旗下IT专业图书旗舰社区,于2015年8月上线运营. 异步社区依托于人民邮电出版社20余年的IT专业优 ...
- 第127讲:Hadoop集群管理之安全模式解析及动手实战学习笔记
第127讲:Hadoop集群管理之安全模式解析及动手实战学习笔记 hadoop在启动时namenode会把fsimage加载进内存,同时和edits内容合并,以此建立整个文件系统的元数据的镜像(内存级 ...
- “物联网开发实战”学习笔记-(四)智能音箱制作和语音控制
"物联网开发实战"学习笔记-(四)智能音箱制作和语音控制 这次来造一个属于自己的智能音箱,这里详细介绍了智能音箱的语音控制的实现. 智能音箱的技术架构 智能音箱主要涉及拾音.前端信 ...
- “物联网开发实战”学习笔记-(二)手机控制智能电灯
"物联网开发实战"学习笔记-(二)手机控制智能电灯 如果搭建好硬件平台后,这一次我们的任务主要是调试好智能电灯,并且连接到腾讯云的物联网平台. 腾讯云物联网平台 腾讯物联网平台的优 ...
最新文章
- A small tip to explore how to call a method of a control
- 【渝粤题库】广东开放大学 大学英语B 形成性考核 (2)
- python中request方法_如何使用python语言中的request模块获取代码
- va_list函数族应用
- Android让控件位于底部
- 用 Chrome 扩展实现修改
- 如何在官网下载scala
- js之金额大小写转换工具类(测试OK)
- word使用过程中遇到的问题记录(二):如何画柱状图和折线图的组合图?
- 使用Word批量删除换行和空白行
- 2020年度十大高薪岗位出炉:程序员霸榜
- RoboCup3D仿真2019年国赛TC笔记
- MIPI DSI 接口协议介绍
- Android系统固件包解包、修改(涉及root提权)、打包
- access行列转换。
- u盘插入计算机显示被写保护,磁盘提示被写保护怎么办?
- Plotly 和 Dash 构建 Python 交互式仪表板类 App
- CSS基础-09-布局(定位 position、浮动float,元素对其、图像对其、文本对齐、元素内内容对齐,元素堆叠)
- 微信智能机器人助手,基于hook技术,自动聊天机器人
- node 项目打包工具ncc
热门文章
- git 的右键快捷菜单恢复
- 基于keepalived搭建MySQL高可用集群
- CSS3 里添加自定义字体
- 20160221.CCPP体系详解(0031天)
- OOD沉思录 --- 类和对象的关系 --- 使用关系
- iOS: 转载CoreData数据库框架
- [锋利JQ]-图片提示效果
- [Win] 利用Memory DC抽取EXE的图标并保存为BMP文件
- Idea debugger 无法启动-unable to open debugger port , java.net.SocketException socket closed
- 初识前端——个人总结