今天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数据库优先模式(三)的更多相关文章

  1. EF数据库优先模式(一)

    C#中EF模式,讲述个人在做项目时用到的一些思路以及方法 EF数据模型有三种方式,database优先,model优先,Code优先,个人在做项目时用到的是database优先,以后再说其他的方式 d ...

  2. EF数据库优先模式(二)

    接着上一节的内容,建立好EF数据模型(DataFirst)之后,创建一个借口类,将公用的借口放到接口类里面 public interface IObjectLoader<T,TM> {  ...

  3. 五:MVC使用数据库优先(DatabaseFirst)的方式创建数据模型

    1. ORM概念 2. EF的DatabaseFirst模式使用 1. ORM简介 对象关系映射(Object Relational Mapping,简称ORM) ORM技术特点: 1.提高了开发效率 ...

  4. 【EF】EntityFramework 更新数据库字段的三种方法

    实体类 public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public Tes ...

  5. 数据库优先生成EF CRUD演示

    ①准备我们的数据库: Northwind ②新建 实体数据模型,由数据库优先创建 ③创建控制器,这里我们只针对了Customers这张表做演示,实际会复杂的多 注:你可以把上面两步合成一步来写,创建控 ...

  6. Entity Framework 之Database first(数据库优先)&Model First(模型优先)

    一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原 ...

  7. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式 进行本次文章之前,我们可能需要补充一些 ...

  8. C# ORM—Entity Framework 之Database first(数据库优先)&Model First(模型优先)(一)

    一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原 ...

  9. 第十七节: EF的CodeFirst模式的四种初始化策略和通过Migration进行数据的迁移

    一. 四种初始化策略 EF的CodeFirst模式下数据库的初始化有四种策略: 1. CreateDatabaseIfNotExists:EF的默认策略,数据库不存在,生成数据库:一旦model发生变 ...

随机推荐

  1. [HAOI2018]染色(容斥+NTT)

    补充一篇详细得不能再详细的题解,比如让我自己看懂. 可能与前面的题解有些相同,我想补充一下自己的想法. 显然,最多 \(K\) 最大为 \(N=min(\lfloor \frac nS\rfloor, ...

  2. JavaScript基础(3)-JS中的面向对象、定时器、BOM、位置信息

    一.创建对象的几种常用方式. 1.使用Object或对象字面量创建对象: a.使用Object()内置的构造函数来创建对象,例如: var student = new Object(); // 创建一 ...

  3. Spring Boot中使用@Scheduled创建定时任务

    我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. 创建定时任务 在Spring Boot中编写定时 ...

  4. zookeeper安装小记

    做了5个节点,但是查看状态的时候,发现 ./zkServer.sh statusJMX enabled by defaultUsing config: /opt/zookeeper/bin/../co ...

  5. D17——C语言基础学PYTHON

    C语言基础学习PYTHON——基础学习D17 20181014内容纲要: 1.jQuery介绍 2.jQuery功能介绍 (1)jQuery的引入方式 (2)选择器 (3)筛选 (4)文本操作 (5) ...

  6. flask的变量和函数

    flask 中有内置的的变量函数 ,那些特殊的变量可以实现某些功能 config :可以从模板中直接访问Flask当前的config对象:{{config.SQLALCHEMY_DATABASE_UR ...

  7. dubbo管控台安装

    1. jdk安装 #  cp installpkgs/jdk-7u67-linux-x64_tar_gz /usr/local #  tar -zxf jdk-7u67-linux-x64_tar_g ...

  8. odoo开发笔记 -- 多个视图共用一个模型

    除了写序列优先绑定之外, 窗口引用的视图id也要绑定,否则页面加载的时候,可能不是自己需要显示的视图.例如:<field name="view_id" ref="c ...

  9. Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)的区别(转)

    一.后台进程管理命令 fg.bg.jobs.&.ctrl + z.ctrl + c.ctrl + \.ctrl + d1. &加在一个命令的最后,可以把这个命令放到后台执行 ,如fir ...

  10. spring 后处理器

    Bean后处理器 新建maven项目并添加spring依赖,目录结构如下 Axe public interface Axe { public String chop(); } Person publi ...