Linq to  entities ---提供语言集成查询支持用于在概念模型中定义的实体类型。

首先可以根据http://msdn.microsoft.com/en-us/data/jj206878该网页的learn去设置连接数据、从一个现有的数据库进行逆向工程的模型。

如何从数据库查询呢?通过以下简单的语句我们可以做到

using (var data = new ITshowEntities()) //连接数据
{

var notice =

from  变量 in 数据库.表名 where 表名.列名 = ? //条件语句

select 变量;//返回的是一个表

select 变量.列名;//返回的是一个列

Repeater1.DataSource = notice; //绑定数据到repeater  或者直接就可以  Repeater1.DataSource = data.表名 即可

    Repeater1.DataBind();

}

但是这正常是可以实现绑定数据库的功能 但是却出现报错:

后来发现原因是因为我装的vs是12版本的,它默认entities是5.0版本,而若是在vs10版本的话就没有问题,因为10版默认是entities是4.0版本

解决这个的办法就是对这个数据进行处理:

Repeater1.DataSource = notice.ToList(); //绑定数据到repeater  或者直接就可以  Repeater1.DataSource = data.表名.ToList() 即可

    Repeater1.DataBind();

如果是多个条件查询的可以有两种方式:

1.运用关系连接符号 &&  ||

例:where 表名.列名 = ? && 表名.列名 = ?

2.调用两次where

例:where(条件).where(条件)

有没有发现其实 和  C#查询语句差不多呢

如何删除数据库里的数据呢?主要是调用Remove(需要删掉的数据)函数 当然 先前应该查到我们需要的数据 .First()返回的是我们查到满足的数据的第一条

var deldata = from Notice in db.notices //找到删除的数据
where Notice.id == id  //条件
select Notice; 
deldata.First(); //返回符合的第一条数据
db.notices.Remove(deldata.First()); //删除数据
db.SaveChanges();  
Response.Write(@"<script language='javascript'>alert('删除成功!'); //跳出提示框
window.location.href='manage.aspx'</script>");//跳转到指定页面

当然仍然可以用另一种方式实现,也就是说只要三行代码我们即可实现删除了

notice delnotice = db.notices.Where(p => p.id == id).First();  //找到需要删除的数据
db.notices.Remove(delnotice);
db.SaveChanges()

同理修改数据库里的数据也需要先查到需要修改的数据 ,然后再

表名.列名 == (你需要改的数据);

例如

notice updatenotice = db.notices.Where(p => p.id == id1).First();   //找到需要删除的数据 
updatenotice.title = TextBox1.Text;
updatenotice.writer = TextBox2.Text;
db.SaveChanges();

那么添加呢:添加不需要再查数据 只用先生成新的存储空间 表名 起的名字 = new 表名(); 然后用表名.列名 == 写入的数据 再调用ADD()函数即可

notice newnotice = new notice();  //生成新的数据
newnotice.title = TextBox1.Text;  //写入数据
newnotice.writer = TextBox2.Text; //写入数据
db.notices.Add(newnotice);
db.SaveChanges();

大家有没有发现除了查询数据 ,增加删除修改数据的最后都需要调用SaveChanges();

存储数据的操作

那么如何实现用linq to entites 分页呢?

就需要 调用 skip()take()函数,skip((page-1)*pagesize)这个函数的意思就是查询的时候跳过前面多少条数据

take(pagesize)的意思则是你一页显示多少条。可以写一个函数来进行分页查询:

public void select(int page,int pagesize) //分页查询
{
using (var db = new ITshowEntities())
{
var data = from Notice in db.notices
orderby Notice.date 
select Notice;
Label1.Text = Math.Ceiling(data.Count()/pagesize).ToString(); //向上取
Repeater1.DataSource = data.ToList().Skip((page-1)*pagesize).Take(pagesize);//每页显示2行   (分页核心)
Repeater1.DataBind();
}

}

Linq to entities 学习笔记的更多相关文章

  1. [开发笔记]-Linq to xml学习笔记

    最近需要用到操作xml文档的方法,学习了一下linq to xml,特此记录. 测试代码: class Program { //参考: LINQ to XML 编程基础 - luckdv - 博客园 ...

  2. LINQ to XML学习笔记

    一.XML基础知识 1.XML:可扩展标记语言 Extensible Markup Language ,提供了一种保存数据的格式,数据可以通过这种格式很容易地在不同的应用程序之间实现共享. 2.使用X ...

  3. 30分钟LINQ教程的学习笔记

    原文章 : http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html 一.11个与LINQ有关的语言特性: [隐式类型.匿名类型.对象 ...

  4. linq学习笔记

    最近在学习linq的一些基础知识,看了c#高级编程及阅读了园子内部几篇优秀的博文,有所体会,感觉应该记录下来,作为以后复习使用.都是一些最基础的知识,大致分为三个部分:linq预备知识:linq查询: ...

  5. Dynamic CRM 2013学习笔记(三十)Linq使用报错 A proxy type with the name account has been defined by another assembly

    在CRM中使用linq时,有时会报这个错误: A proxy type with the name account has been defined by another assembly. Curr ...

  6. MVC学习笔记(四)---使用linq多表联查(SQL)

    1.数据库原型(Students表中的ID和Scores表中的StudentID是对应的) 2.实现效果:查询出每个学生各个科目的成绩(用的是MVC学习笔记(三)—用EF向数据库中添加数据的架构) C ...

  7. LINQ to Entities 不支持 LINQ 表达式节点类型“Invoke”(笔记)

    今天使用使用动态查询的时候出现出现错误“LINQ to Entities 不支持 LINQ 表达式节点类型‘Invoke’.”,代码如下: IQueryable<CUSTOMER> que ...

  8. MVC 学习(一)Linq to Entities 简单Demo

    Linq定义了一组标准查询符号,标准查询符允许查询作用于所有基于IEnumerable<T>接口源. 我们看看LINQ的总体架构.如下图所示 EF4.1 数据操作及持久化,常见的是Data ...

  9. LINQ学习笔记(一)基本语法

    1.LINQ简介 LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.包括五个部分:LINQ to Objects.LINQ to DataSe ...

随机推荐

  1. 微信touchmove不生效

    最近在写一个微信里面滑动切换图片的功能,发现在chrome下都正常显示,可是在微信和qq浏览器里面就是不行. 经过一番排查,发现了问题: touchmove只触发了一次. 解决方案: 在touchst ...

  2. 特殊符号 && 和 ||

    一.值为false的情况 如果逻辑对象值为0,-0, null,undefined,false,"",NaN.那么值为false. 二.&& || 的 理解 1.& ...

  3. CocoaPods使用 主要带图。转载。

    原文地址 快速更新,不需要查找更新库 命令:pod update  --verbose --no-repo-update 虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了 ...

  4. Unity 5 中的全局光照技术详解

    貌似是某位好人翻译的 https://unity3d.com/cn/learn/tutorials/topics/graphics/unity-5-lighting-and-rendering#rd? ...

  5. PHP_EOL

    PHP中除去换行符 $str = str_replace(array("\r\n", "\r", "\n"), "", ...

  6. sublime text2 换主题

    网上看到一款喜欢的主题,换掉初始的主题,感觉颜色浅一点会比较好看,看中了下面这款. 后来看到有在 github 上的人做的 ,这是地址 ,上面也有详细的如何更改的步骤,下面是我自己这里做个备份. 1. ...

  7. iOS - AppRealTest App 真机测试

    前言 1.准备 开发者账号 自从 Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有 app 具有 "推送" 等功能的时候,要真机测试就必须要开发者 ...

  8. 数据库多表连接方式介绍-HASH-JOIN

    1.概述 hash join是一种数据库在进行多表连接时的处理算法,对于多表连接还有两种比较常用的方式:sort merge-join 和 nested loop. 为了比较清楚的介绍hash joi ...

  9. go排序

    补注: 近来又看 go 的排序, 发现以前对 go 的排序理解的有点浅了. go 的排序思路和 c 和 c++ 有些差别. c 默认是对数组进行排序, c++ 是对一个序列进行排序, go 则更宽泛一 ...

  10. 20161117__安装Qt5.3.2

    1.strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 2.yum install libGL-devel 2.在安装 Qt5.3.2x86的时候,会报错 ...