ASP.NET网站开发中的LINQ to SQL与数据上下文

news/2024/5/11 0:13:14/文章来源:https://blog.csdn.net/being_towards_death/article/details/79789231

一、LINQ TO SQL概述

1.LINQ TO SQL 是LINQ中最重要的一个组建,为.NET Framework3.5及以上版本所支持,它可以为关系数据库提供一个对象模型,并在该对象模型基础上实现对数据的查询、添加、修改、删除等功能。

2.LINQ TO SQL 最重要的一个功能就是为SQL Server数据库创建一个对象模型(由基于.NET框架的类组成),并将该对象模型映射到SQL Server数据库中相应的对象(如表、列、外键关系、存储过程、函数等)。其中,LINQ TO SQL类映射到SQL Server数据库中的表,这些LINQ to SQL类被称为“实体类”。

LINQ to SQL对象模型和SQL Server数据库中的对象映射关系
LINQ to SQL对象模型的基本元素SQL Server数据库中的对象
实体类
属性或字段
关联外键关系
方法存储过程或函数







二、数据上下文

DataContext又称为数据上下文,它为LINQ to SQL提供操作数据库的入口。如果使用LINQ to SQL操作数据库,则首先需要为该数据库创建一个继承于DataContext类的自定义的数据上下文类,并在该类中定义表,以及操作数据的方法等。

1.DataContext概述

     DataContext类是一个LINQ to SQL类,它充当SQL Server数据库与映射到该数据库的LINQ to SQL实体类之间的通道,它包含用于连接数据库以及操作数据数据的连接字符串信息和方法。用户可以调用其SubmitChanges()方法将所有更改提交到数据库。

2.DataContext属性

连接属性Connection:可以获取DataContext类的实例的连接(类型为DbConnection)。

事务属性Transaction:为DataContext类的实例设置访问数据库的事务。

执行命令的最大时间属性CommandTimeout:可以设置或获取DataContext类的实例的查询数据库操作的超时期限。该时间单   位为秒,默认值30秒。

3.DataContext类的方法

    1.执行SQL命令的ExecuteCommand()方法

    2.执行SQL查询的ExecuteQuery()方法

    3.提交更改到数据库的SubmitChanges()方法

    4.获取表集合的GetTable()方法

    5.获取已修改对象的GetChangeSet()方法

三、处理Table<T>类型的结果

Table主要操作数据库的方法
方法名称说     明
DeleteAllOnSubmit(TSbuEntity)将集合中的所有实体置于pending delete状态
DeleteOnSubmit将此表中的实体置为pending delete状态
InsertAllOnSubmit(TSubEntity)将集合中所有处于pending insert状态的实体添加到DataContext
InsertOnSubmit将处于pending insert 状态的实体添加到此Table(TEntity)








//添加一个新的角色信息到Role表中
private void InsertRole()
{
//创建LinqDB数据库的数据上下文实例
LinqDBDataContext db=new LinqDBDataContext(LinqSystem.LinqDBConnectionString);
Response.Write("添加前角色的数量:"+db.Role.Count()+"<br/>");
//创建一个新角色
Role role=new Role{RoleName="新的角色"};
//将新的角色添加到数据库中
db.Role.InsertOnSubmit(role);
db.SubmitChanges();
Response.Write("添加后角色的数量:"+db.Role.Count());
}

结果
添加前角色的数量:5
添加后角色的数量:6

注意:上述

db.SubmitChanges();

只改变Table<T>中T的状态,并没有真正的将数据操作的结果写入到数据库中,提交到数据库必须调用相应数据库上下文的SubmitChanages()方法。


四、处理EntitySet<T>类型的结果

EntitySet<T>用来描述实体类中包含的其他实体的集合

处理EntitySet<T>类型的结果(Add):

处理EntitySet<T>类型的结果(Del):


  • Add()方法能够将元素或实体添加到EntitySet<T>集合末尾(添加实体的Add( )方法)
  • Remove()方法能够从EntitySet<T>中移除指定的元素或实体(移除实体的方法)
  • RemoveAt()方法能够从EntitySet<T>中移除指定位置处的元素或实体
  • Contains()方法能够判断在EntitySet<T>中是否包含指定的元素或实体(查找是否包含实体的Contains( )方法)

五、EntityRef<T>处理一对多关系中的数据


六、ISingleResult<T>泛型接口表示具有单个返回序列的映射函数的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_793855.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Scrapy 教程(三)-网站解析

有经验的人都知道&#xff0c;解析网站需要尝试&#xff0c;看看得到的数据是不是想要的&#xff0c;那么在scrapy中怎么尝试呢&#xff1f; 调试工具-shell 主要用于编写解析器 命令行进入shell scrapy shell url 这个命令其实是个下载器 shell 界面 获取数据 解析命令 respon…

如何搭建小型视频点播网站

视频点播是二十世纪90年代在国外发展起来的&#xff0c;英文称为“Video on Demand”&#xff0c;所以也称为“VOD”。顾名思义&#xff0c;就是根据观众的要求播放节目的视频点播系统&#xff0c;把用户所点击或选择的视频内容&#xff0c;传输给所请求的用户。视频点播业务是…

(ESC IIS笔记)建站并提供外网入口

文章目录1.连接自己的云服务器2.配置IIS3.新建站点4.提供外网1.连接自己的云服务器 ①可通过浏览器或者本机的远程服务功能(用后者比较方便) 方法一&#xff1a;winR - MSTSC 方法二&#xff1a;window附件 ②显示选项-本地资源-详细信息-驱动器&#xff0c;此步骤方便我们在…

全·SEO笔记

一.SEO概述 1.SEO(Search Engine Optimization) 中文翻译为搜索引擎优化&#xff0c;是利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名的一种方式。目的是让其在行业内占据领先地位&#xff0c;获得品牌收益。很大程度上是网站经营者的一种商业行为&#xff0c;将自己…

未能将网站配置为使用ASP.NET4.5(待解决)

电脑上更新了VS版本或升级补丁或升级了framework或升级了windows可能会遇到此问题。 第一步是&#xff1a;配置IIS应用程序池.net framework的版本&#xff0c; 第二步&#xff0c;运行--->cmd--->输入 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe…

为ASP网站引用WCF后台

编码环境&#xff1a; 系统&#xff1a;Win8 平台&#xff1a;Visual Studio 10 框架&#xff1a;.Net Framework4.0 WCF后台&#xff1a;IIS 8.5 步骤&#xff1a; 1、打开VS,新建一个ASP.NET Web应用程序&#xff0c;取名为WCFClient。 2、选中WCFClient项目&#…

iis发布网站,网站访问地址

iis发布网站&#xff0c;网站默认访问地址主机名

IIS服务器配置及网站发布

ASP.NET运行环境的设置 1、开始—控制面板—程序|程序和功能—打开|关闭Windows功能–&#xff1b; 2、Internet信息服务————web管理工具————万维网服务————&#xff08;。Net扩展、ASP、ASP.NET、ISAPI扩展、ISAPI扩展器&#xff09;&#xff1b; &#xff08;…

devc 能优化吗_SEO优化选择热门关键词好吗?关键词如何选择?

随着行业与行业之间的竞争愈加激烈&#xff0c;想在互联网环境下进行各种推广营销活动&#xff0c;必须学会利用网络平台进行宣传&#xff0c;而SEO优化是必不可少的推广方式之一。通过SEO优化&#xff0c;可以提升企业网站自然排名和流量&#xff0c;让企业可以持之以恒的发展…

seo伪原创软件_公开seo文章Ai伪原创技术,让更多seo技术受益

2020年对seo行业来说&#xff0c;可以说是分水岭的一年。随着百度搜索技术的不断更新变化&#xff0c;对内容质量的要求也是越来越高。高粱seo看到很多seo技术&#xff0c;因为文章的问题&#xff0c;深感头疼。为此&#xff0c;市面上推出了很多所谓的Ai伪原创技术&#xff0c…

wordpress本地网站怎么搬到服务器,如何在本地搭建wordpress网站(图文教程)

以安装wordpress程序为例&#xff0c;通过配置环境&#xff0c;为大家讲解在本地搭建网站的过程&#xff1a;一&#xff0c;在本地配置服务器环境这个主要用相关软件工具来实现&#xff0c;这类软件工具在网上很多&#xff0c;在这里就用我常用的phpStudy来为大家讲解&#xff…

HTML优秀网站引导载入页源码

今天给大家分享一款源码&#xff0c;可以用作网站引导、网站载入&#xff0c;甚至可以做为***网页。 分享此源码 赞作者使用的效果&#xff0c;感觉很不错&#xff01;赞&#xff01; 其它的先不说&#xff0c;先来看下效果。 认为效果可以的、认为自己以后能用到的&#xff0c…

php进行服务器架构,PHP建站通过服务器架构及实战的方法

PHP的环境搭建PHP的帮助使用和配置文件PHP的Hello WorldPHP的库函数调用PHP的Web程序PHP的函数和面向对象使用PHP的数据库访问Nginx安装和配置访问WordPress的安装和配置实用推进资料&#xff1a;图书&#xff0c;视频&#xff0c;代码等总述PHP基础环境准备安装虚拟机VM(Virtu…

Vue+thinkJs博客网站(一)之vue多页面应用的webpack3配置

一.项目简介 本项目使用vue作为前端框架&#xff0c;thinkJs作为后端框架&#xff0c;构建个人博客网站&#xff0c;页面分为博客展示和后台管理&#xff0c;主要目的是学习使用thinkJs。现在只完成了主要的博客增删改功能&#xff0c;发现webpack的配置遇到了一些坑&#xff0…

[摘录]大型网站架构演变和知识体系

架构演变第一步&#xff1a;物理分离webserver和数据库最开始&#xff0c;由于某些想法&#xff0c;于是在互联网上搭建了一个网站&#xff0c;这个时候甚至有可能主机都是租借的&#xff0c;但由于这篇文章我们只关注架构的演变历程&#xff0c;因此就假设这个时候 已经是托管…

大型网站前端使用图片格式的正确姿势

在网页上使用JPG、PNG和SVG&#xff1a;新手指南 | Cheesecake Labs 本文转载自&#xff1a;众成翻译 译者&#xff1a;lunasun 审校: lizheming 链接&#xff1a;http://www.zcfy.cc/article/3211 原文&#xff1a;https://cheesecakelabs.com/blog/jpg-png-svg-web-begin…

怎么卸载deepin linux,Linux deepin怎么卸载不用的旧内核_网站服务器运行维护,Linux...

鼠标右击没有新建word选项怎么解决_网站服务器运行维护鼠标右击没有新建word选项的解决方法&#xff1a;1、按【winr】组合键打开运行&#xff0c;输入【regedit】&#xff0c;点击【确定】&#xff1b;2、右键点击【.doc】文件夹&#xff0c;选择【新建】、【项】&#xff0c;…

织梦pc自适应网站伪静态教程

织梦pc自适应网站伪静态教程 一、 网站后台开启伪静态选项 二、网站后台设置整站为动态 织梦全站动态静态一键切换插件 三、电脑站伪静态教程开始 1、列表页和内容页伪静态链接 打开 /plus/list.php 找到 $tid (isset($tid) && is_numeric($tid) ? $tid : 0);改…

百度手机端网站域名展现近期调整

百度手机端网站域名展现近期调整 近期有站长发现&#xff0c;百度手机端搜索结果页面部分网站域名链接已经被网站品牌词所代替&#xff0c;效果类似于之前的熊掌号。 当然百度这样的调整对网站本身不产生影响&#xff0c;只是修改了网站域名的展现形式&#xff0c;将网站域名…

织梦将网站数据和文件整体打包操作流程

织梦怎么将网站数据和文件整体打包 首先登陆网站后台 - 点击系统 - 选择数据库备份/还原 - 点击提交&#xff08;此步骤是备份网站数据文件&#xff09; 等备份成功后&#xff0c;打开网站根目录文件夹 - 全选文件 - 打包为压缩包 &#xff08;这样网站数据和网站文件都已经打…