using (DataContext ctx = new DataContext())
{
/*foreach (var item in ctx.employees)
{
ViewData["Name"] = item.Name;
}
*/
//------------------------------------------
/*var employees = from emp in ctx.employees
where emp => emp.Age == 22 && emp.ID == "123456781"
select emp;
//上边转化
var employees = ctx.employees.Where(emp => emp.Age == 22 && emp.ID == "123456781");
foreach (var item in employees)
{
ViewData["Name"] = item.Name;
}--------------------------------------------*/
/*---------------------------------------
* var employees = from emp in ctx.employees
where emp.Age == 22 && emp.ID == "123456781"
select emp.Name;//查询单个字段

var employees = ctx.employees.Where(emp => emp.Age == 22 && emp.ID == "123456781")
.OrderBy(emp => emp.ID)
.Select(emp => emp.Name);//查询单个字段
//---------------------------------------------------

var employees2 = from emp in ctx.employees
where emp.Age == 21
select new { emp.Age, emp.Name };//查询多个字段*/
/*var employees2 = ctx.employees
.Where(emp => emp.Age == 21)
.OrderBy(emp => emp.Age)
.Select(emp => new { emp.Name, emp.Age });//查询多个字段
//----------------------------------------------
/不管怎样都要用foreach、
foreach (var item in employees)
{
ViewData["single"] = item;//因为它查出来是单个字段,所以直接输出,不用点了
}
foreach (var item in employees2)
{
ViewData["doubleAge"] = item.Age;
ViewData["doubleName"] = item.Name;//他很智能的。
}
//------------------------------------

var employees = ctx.employees.Find("123456781");
if (employees != null)
{
ViewData["df"] = employees;
}

//加载数据到内存中,加载完了就可以用Local了
ctx.employees.Load();
var employees = from employee in ctx.employees.Local select employee;
foreach (var item in employees)
{
ViewData["fsdf"] = item;
}
//inclue 贪婪查询。
var employees = ctx.employees.Include(p => p.department);
foreach (var item in employees)
{
ViewData["dep"] = item.department.DepName;
ViewData["empName"] = item.Name;
}*/

var employees = ctx.employees.Include(emp=>emp.department).ToList();//查询列表
ViewData.Model = employees;
return View();

外键数据保存:

public ActionResult AddHandler(int droplist, Employee emp)
{
using (DataContext dbcontext=new DataContext ())
{
int did = droplist;
Department dep = new Department();
dep = dbcontext.dempartments.Find(did);//先找到外键实体
emp.department = dep;//因为emp中外键是一个实体,所以你要给实体,不能只给ID外键。
dbcontext.employees.Add(emp);
dbcontext.SaveChanges();

return RedirectToAction("List");
}
}

}

MVC+Linq+EF笔记的更多相关文章

  1. mvc+linq+EF对数据表的查删改

    /// <summary> /// 查询数据库中学生姓名 /// </summary> /// <returns></returns> public A ...

  2. MVC教程--MiniProfiler.EF监控调试MVC和EF的性能

    上一篇谈到mvc中ef输出执行sql日志:来谈用mvc开发项目的调试和性能监控.EF框架自动给我生成sql语句,当我们的程序遇到性能问题的时候我们可以用MiniProfiler.EF来监控调试MVC和 ...

  3. ASP.NET Core快速入门(第6章:ASP.NET Core MVC)--学习笔记

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务40:介绍 1.Individual authentication 模板 ...

  4. ASP.NET Core MVC 网站学习笔记

    ASP.NET Core MVC 网站学习笔记 魏刘宏 2020 年 2 月 17 日 最近因为” 新冠” 疫情在家办公,学习了 ASP.NET Core MVC 网站的一些知识,记录如下. 一.新建 ...

  5. 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 3

    原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockout ...

  6. 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 1

    原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockout ...

  7. ASP.NET MVC和EF集成AngularJS开发

    参考资料: 如何在ASP.NET MVC和EF中使用AngularJS AngularJS+ASP.NET MVC+SignalR实现消息推送 [AngularJs + ASP.NET MVC]使用A ...

  8. 1、MVC和EF中的 Model First 和 Code First

    准备:先引入MVC和EF的dll包 *命令方法:打开工具——库程序包管理器——程序包管理器控制台,选择自己的项目 a)     Install-Package EntityFramework -Ver ...

  9. 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑

    翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑 Part 3: 设计逻辑层:核心开发 如前所述,我们的解决方案 ...

随机推荐

  1. AsyncHttpClien访问网络案例分析

    Android数据存储的四种方式分别是:SharedPreferences存储.File文件存储.Network网络存储和sqlite数据库存储,网络存储需要使用AsyncHttpClient发送请求 ...

  2. Raspberry Pi3 ~ 使用eclipse进行远程调试

    为了开发方便需要在电脑上对树莓派进行远程Debug. l  在eclipse中安装交叉编译(参照开发环境搭建)    arm-linux-gnueabihf-gcc l  树莓派中检查是否安装了gdb ...

  3. 顽石系列:Java技术面试

    顽石系列:Java技术面试 JDBC相关 1.Statement与PreparedStatement的区 别,什什么是SQL注⼊入,如何防⽌止SQL注⼊? PreparedStatement支持动态设 ...

  4. 解决ubuntu12.04下安装gitlabError Compiling CSS asset的错误以及401资源错误

    安装过程 https://www.gitlab.com.cn/installation/#ubuntu 解决过程 12.04ubuntu坑太多 解决有用的链接如下 https://blog.csdn. ...

  5. hdu1015 —— 回溯

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1015 因为之前看了下刘汝佳的<算法入门经典>,就用类似打印全排列,八皇后的方法做.本以为不 ...

  6. SqlServer 按逗号分隔

    SELECT ORDER_ID,LTRIM(MAX(SYS_CONNECT_BY_PATH(GOODS_NAME, ',')), ',') GOODS_NAME FROM (SELECT GOODS_ ...

  7. 分享知识-快乐自己:什么是MVC

    1.什么是mvc: Model View Controller,是模型-视图-控制器的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里,在改进和个性 ...

  8. JQuery调用iframe子页面函数/对象的方法

    父页面有个ID为mainfrm的iframe,iframe连接b.html,该页面有个函数test 在父页面调用b.html的test方法为: $("#mainfrm")[0].c ...

  9. certbot申请SSL证书及中间证书问题

    首先是到https://certbot.eff.org/上申请证书,由于我们使用的web服务器是基于erlang的cowboy的,在主页上没有选项可以支持,因此在Software下拉项中选择" ...

  10. ZOJ1905Power Strings (KMP||后缀数组+RMQ求循环节)

    Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc&quo ...