没有合适的资源?快使用搜索试试~ 我知道了~
首页Linq To SQL
LINQ TO SQL[1] 是包含在.NET Framework 3.5 版中的一种 O/RM 组件(对象关系映射),O/RM 允许你使用 .NET 的类来对关系数据库进行建模。然后,你可以使用LINQ对数据库中的数据进行查询、更新、添加、删除。 LINQ TO SQL 提供了对事务、视图、存储过程的完全支持。它同样为集成数据校验和业务层逻辑到你的数据模型中提供了一种简单的实现方式。 在 LINQ to SQL 中,关系数据库的数据模型映射到用开发人员所用的编程语言表示的对象模型。 当应用程序运行时,LINQ to SQL 会将对象模型中的语言集成查询转换为 SQL,然后将它们发送到数据库进行执行。当数据库返回结果时,LINQ to SQL 会将它们转换回您可以用您自己的编程语言处理的对象。
资源详情
资源评论
资源推荐
星 凌 软 件
Hacker-TTAO
我我我
Linq To SQL
Linq to Sql(一):DataContext 与实体
DataContext 类型(数据上下文)是 System.Data.Linq
命名空间下的重要类型,用于把
查询句法翻译成 SQL
语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库。
DataContext 提供了以下一些使用的功能:
以日志形式记录 DataContext 生成的 SQL
执行 SQL(包括查询和更新语句)
创建和删除数据库
DataContext 是实体和数据库之间的桥梁,那么首先我们需要
定义映射到数据表的实体。
定义实体类
using System.Data.Linq.Mapping;
[Table(Name = "Customers")]
public class Customer
{
[Column(IsPrimaryKey = true)]
public string CustomerID {get; set;}
[Column(Name = "ContactName")]
public string Name { get; set; }
[Column]
public string City {get; set;}
}
以 Northwind 数据库为例,上述 Customers 类被映射成一个表,对应数据库中的
Customers 表。然后在类型中定义了三个属性,对应表中的三个字段。其中,CustomerID
字段是主键,如果没有指定 Column 特性的 Name 属性,那么系统会把属性名作为数据表的
字段名,也就是说实体类的属性名就需要和数据表中的字段名一致。
现在,创建一个 ASP.NET 页面,然后在页面上加入一个 GridView
控件,使用下面的
代码进行绑定数据:
using System.Data.Linq;
DataContext ctx = new
DataContext("server=xxx;database=Northwind;uid=xxx;pwd=xxx");
Table<Customer> Customers = ctx.GetTable<Customer>();
GridView1.DataSource = from c in Customers where
c.CustomerID.StartsWith("A") select new {顾客 ID=c.CustomerID, 顾客名=c.Name,
城市=c.City};
GridView1.DataBind();
使用 DataContext 类型把实体类和数据库中的数据进行关联。你可以直接在
DataContext 的构造方法中定义连接字符串,也可以使用 IDbConnection:
using System.Data.SqlClient;
IDbConnection conn = new
SqlConnection("server=xxx;database=Northwind;uid=xxx;pwd=xxx");
DataContext ctx = new DataContext(conn);
之后,通过 GetTable 获取表示底层数据表的 Table 类型,显然,数据库中的 Customers
表的实体是 Customer 类型。随后的查询句法,即使你不懂 SQL 应该也能看明白。从
Customers 表中找出 CustomerID 以“A”开头的记录,并把 CustomersID、Name 以及 City 封装
成新的匿名类型进行返回。
结果如下图:
强类型 DataContext
public partial class NorthwindDataContext : DataContext
{
public Table<Customer> Customers;
public NorthwindDataContext(IDbConnection connection) : base(connection)
{ }
public NorthwindDataContext(string connection) : base(connection) { }
}
强类型数据上下文使代码更简洁:
NorthwindDataContext ctx = new
NorthwindDataContext("server=xxx;database=Northwind;uid=xxx;pwd=xxx");
GridView1.DataSource = from c in ctx.Customers where
c.CustomerID.StartsWith("A") select new { 顾客 ID = c.CustomerID, 顾客名 =
c.Name, 城市 = c.City };
GridView1.DataBind();
DataContext 其实封装了很多实用的功能,下面一一介绍。
日志功能
using System.IO;
NorthwindDataContext ctx = new
NorthwindDataContext("server=xxx;database=Northwind;uid=xxx;pwd=xxx");
StreamWriter sw = new StreamWriter(Server.MapPath("log.txt"), true); //
Append
ctx.Log = sw;
GridView1.DataSource = from c in ctx.Customers where
c.CustomerID.StartsWith("A") select new { 顾客 ID = c.CustomerID, 顾客名 =
c.Name, 城市 = c.City };
GridView1.DataBind();
sw.Close();
剩余63页未读,继续阅读
mukezhao
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0