MVC+Linq+EF笔记
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笔记的更多相关文章
- mvc+linq+EF对数据表的查删改
/// <summary> /// 查询数据库中学生姓名 /// </summary> /// <returns></returns> public A ...
- MVC教程--MiniProfiler.EF监控调试MVC和EF的性能
上一篇谈到mvc中ef输出执行sql日志:来谈用mvc开发项目的调试和性能监控.EF框架自动给我生成sql语句,当我们的程序遇到性能问题的时候我们可以用MiniProfiler.EF来监控调试MVC和 ...
- ASP.NET Core快速入门(第6章:ASP.NET Core MVC)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务40:介绍 1.Individual authentication 模板 ...
- ASP.NET Core MVC 网站学习笔记
ASP.NET Core MVC 网站学习笔记 魏刘宏 2020 年 2 月 17 日 最近因为” 新冠” 疫情在家办公,学习了 ASP.NET Core MVC 网站的一些知识,记录如下. 一.新建 ...
- 翻译:使用 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 ...
- 翻译:使用 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 ...
- ASP.NET MVC和EF集成AngularJS开发
参考资料: 如何在ASP.NET MVC和EF中使用AngularJS AngularJS+ASP.NET MVC+SignalR实现消息推送 [AngularJs + ASP.NET MVC]使用A ...
- 1、MVC和EF中的 Model First 和 Code First
准备:先引入MVC和EF的dll包 *命令方法:打开工具——库程序包管理器——程序包管理器控制台,选择自己的项目 a) Install-Package EntityFramework -Ver ...
- 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑
翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑 Part 3: 设计逻辑层:核心开发 如前所述,我们的解决方案 ...
随机推荐
- python venv虚拟环境
1 目的 给python应用一个独立的运行环境,独立于其它的python应用也独立于系统的python环境. 环境升级不影响其它应用. 避免包冲突. 2 创建方式 2.1 pycharm中创建 pro ...
- process_thread_action
import psycopg2 import threading conn_fmac = psycopg2.connect(database='filter_useless_mac', user='u ...
- php验证身份证号码有效性
<?php // 18位身份证校验码有效性检查 // idcard_checksum18('...'); function idcard_checksum18($idcard) { if (st ...
- JVM GC调优一则--增大Eden Space提高性能
版权声明:本文为横云断岭原创文章,未经博主同意不得转载.微信公众号:横云断岭的专栏 https://blog.csdn.net/hengyunabc/article/details/24924843 ...
- SAP 增强表MODSAP 和TFDIR
2.第二代增强(基于函数模块的增强),用于SMOD和CMOD 维护 在SAP发布的版本中,使用Call customer-function 'xxx'调用函数模块的, 所以你可以通过在程序中搜索 cu ...
- Java基础:hashCode与equals个人学习记录
摘要: 本文主要记录本人对hashCode和对equals两个知识点的学习过程. 从学生时期初学java,就知道hashCode和equals这两个方法,工作中equals方法使用也是特别频繁,要说e ...
- HDU2457 DNA repair —— AC自动机 + DP
题目链接:https://vjudge.net/problem/HDU-2457 DNA repair Time Limit: 5000/2000 MS (Java/Others) Memory ...
- hdu-5826 physics(数学)
题目链接: physics Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) P ...
- 文章预告的自我挖坑系列——D3.js 系列之星光闪烁
D3.js 是个神奇的工具,下面收集了一些与星星相关的可视化的例子,静待慢慢的把坑填上 雷达图http://bl.ocks.org/kevinschaul/8213691 星空 二维(一)h ...
- linux 进程学习笔记-进程ID,PID
PID,进程号 , 范围在2~(??为什么需要这么多),而一个名为idle (或swapper)的进程占据的编号0,init进程占据了编号1. 进程0和进程1 : 系统启动时会从无到有地创建进程0,它 ...