EF数据库优先模式(三)
今天2018年4月1日,呼叫王伟,81192,收到请返航!
接上次说,本节将LINQ以及lambda表达式
LINQ是C#里面针对SQL Server特有的数据访问操作方法,通俗一点说就是类似于写SQL语句一样,都是对数据库进行操作
var temp = (from pt in db.T_UserInfo
select pt
).ToList();
上述代码就是LINQ的查询操作,下面是写LINQ的基本方式,这个有很多例子可以看,就不再一一列举了
var temp=from pt in table
select pt
where pt.colums>条件
orderby pt.colums descing
再看下下面我实现查询User表,并把数据存储到List里面的操作,就实现了LINQ执行查询的操作
public List<GxUserInfo> LoadAll()
{
try
{
T_BBSEntities db = new T_BBSEntities();
var temp = (from pt in db.T_UserInfo
select pt
).ToList();
if(temp.Count==)
{
return null;
}
else
{
List<GxUserInfo> GxUser = new List<GxUserInfo>();
temp.ForEach(e=>GxUser.Add(LoadFormModel(e)));
return GxUser;
}
}
catch(Exception ex)
{
return null;
} }
这里定义的是一个查询用户表所有数据的操作,如果不为空,就把数据给添加到List类型的GxUser里面,再进行调用
这里面就用到了Lambda表达式
e=>GxUser.Add(LoadFormModel(e))这里就是一个遍历添加的方法,
LoadFormModel(e)是用户数据模型,不同于EF模型及其他数据模型,这里是对模型定义的数据类型进行赋值操作
public GxUserInfo LoadFormModel(T_UserInfo Model)
{
GxUserInfo UserInfo = new GxUserInfo
{
ID=Model.ID,
UserName = Model.UserName,
PassWord = Model.PassWord,
Sex = Model.Sex,
Addr=Model.Addr,
PhoneNum=Model.PhoneNum };
return UserInfo;
}
然后可以自己定义其他方法,比如我要根据用户ID来查询数据,我就会这么做
public GxUserInfo LoadSpecId(int id)
{
try
{
T_BBSEntities db = new T_BBSEntities();
var temp = from pt in db.T_UserInfo
where pt.ID == id
select pt;
return temp.Any() ? LoadFormModel(temp.First()) : null;
}
catch(Exception ex)
{
return null;
}
}
后面就可以直接调用这里定义的方法了,然后进行业务逻辑上的处理等等,所以LINQ还是很便捷的一种操作方式
而Lambda表达式最多的是对数据模型的操作,这个后面单独再做个笔记说Lambda表达式的写法及用法了,用法很多,也很强大
EF数据库优先模式(三)的更多相关文章
- EF数据库优先模式(一)
C#中EF模式,讲述个人在做项目时用到的一些思路以及方法 EF数据模型有三种方式,database优先,model优先,Code优先,个人在做项目时用到的是database优先,以后再说其他的方式 d ...
- EF数据库优先模式(二)
接着上一节的内容,建立好EF数据模型(DataFirst)之后,创建一个借口类,将公用的借口放到接口类里面 public interface IObjectLoader<T,TM> { ...
- 五:MVC使用数据库优先(DatabaseFirst)的方式创建数据模型
1. ORM概念 2. EF的DatabaseFirst模式使用 1. ORM简介 对象关系映射(Object Relational Mapping,简称ORM) ORM技术特点: 1.提高了开发效率 ...
- 【EF】EntityFramework 更新数据库字段的三种方法
实体类 public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public Tes ...
- 数据库优先生成EF CRUD演示
①准备我们的数据库: Northwind ②新建 实体数据模型,由数据库优先创建 ③创建控制器,这里我们只针对了Customers这张表做演示,实际会复杂的多 注:你可以把上面两步合成一步来写,创建控 ...
- Entity Framework 之Database first(数据库优先)&Model First(模型优先)
一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式 进行本次文章之前,我们可能需要补充一些 ...
- C# ORM—Entity Framework 之Database first(数据库优先)&Model First(模型优先)(一)
一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原 ...
- 第十七节: EF的CodeFirst模式的四种初始化策略和通过Migration进行数据的迁移
一. 四种初始化策略 EF的CodeFirst模式下数据库的初始化有四种策略: 1. CreateDatabaseIfNotExists:EF的默认策略,数据库不存在,生成数据库:一旦model发生变 ...
随机推荐
- UCore-Lab0
日期:2019/3/31 内容:UCore-Lab0 一.UCore实验 实验 说明 关键词 Lab1 bootloader的实现 中断 Lab2 物理内存管理 x86分段/分页模式 Lab3 虚拟内 ...
- python--partial偏函数
new_func = partial(函数名,参数), 生成一个新的函数, 新的函数中参数是partial固定时的参数 例1: from functools import partial def f ...
- 如何让一个input输入框居中
<div style="text-align:center;vertical-align:middel;"><input type="text" ...
- Linux系统日志分析与管理(14)
当你的 Linux 系统出现不明原因的问题时,你需要查阅一下系统日志才能够知道系统出了什么问题了,所以说了解系统日志是很重要的事情,系统日志可以记录系统在什么时间.哪个主机.哪个服务.出现了什么信息等 ...
- Select count(*)、Count(1)、Count(0)的区别和执行效率比较
记得很早以前就有人跟我说过,在使用count的时候要用count(1)而不要用count(*),因为使用count(*)的时候会对所有的列进行扫描,相比而言count(1)不用扫描所有列,所以coun ...
- C#导出HTML到PDF组件 Pechkin
C#导出PDF功能是开发中经常遇到的功能,我们采用第三方的组件,比如 iTextSharp, aspose等,还能搜到一些开源的类库, 但是对于一些内容复杂样式丰富的PDF,我们希望通过传入一个URL ...
- Mysql数据引擎和系统库
系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MySQL ...
- async await 的执行
async await的执行 注意:本次代码仅在 Chrome 73 下进行测试. start 不了解 async await 的,先去看阮一峰老师的文章async 函数. 先来看一道头条的面试题,这 ...
- Fiddler抓包连接失败502的解决方法
本篇用户记录,在用Fiddler遇到过的坑,首先, 先上图,遇到的问题,提示主机连接失败.只是打开Fiddler,不会报这个问题,只有当Fiddler和火狐浏览器一起启动的时候,才会报这个错. 尝试去 ...
- StringBuffer、StringBuilder、冒泡与选择排序、二分查找、基本数据类型包装类_DAY13
1:数组的高级操作(预习) (1)数组:存储同一种数据类型的多个元素的容器. (2)特点:每个元素都有从0开始的编号,方便我们获取.专业名称:索引. (3)数组操作: A:遍历 public stat ...