ASP.NET网站开发

LINQ to SQL概述

LINQ to SQL 是将对象关系映射到.NET框架中的一种实现。它可以将关系数据库(如SQL Server数据库)映射为.NET Farmework中的一些类。

LINQ to SQL是LINQ中 最重要的一个组件,为.NET Framework3.5支持,它可以为关系数据库提供一个对象模型,并在该对象模型基础上实现对数据的查询,添加,修改,删除等功能,即LINQ to SQL提供了用于将关系数据作为对象管理的运行时基础结构。

LINQ to SQL类映射到SQL Server数据库的表,这些LINQ to SQL类被称为“实体类”实体类中的属性或字段映射到SQL Server数据库中的表的列。实体类之间的关联映射到SQL Server数据库的外键关系。LINQ to SQL类中的方法映射为SQL Server数据库中的储存过程或函数。

数据上下文DataContext  :                                                            LINQ查询:八大基本子句

Table<T>泛型接口简单查询                              
EntitySet<T>泛型接口复合查询
EntityRef<T>泛型接口        ISingleResult<T>泛型接口聚合查询     分组查询

LINQ to SQL对象模型和SQL Server 数据库中的对象映射关系:

1,LINQ to SQL是LINQ中最重要的一个组建,为.NET Framework3.5及以上版本所支持,它可以为关系数据库提供一个对象模型。

2,LINQ to SQL最重要的一个功能就是为数据库创建一个对象模型(由基于.NET框架的类组成),并将该对象模型映射到数据库中的相应对象。

LINQ to SQL对象模型的基本元素                                                                         LINQ to SQL数据库中的对象       

实体类
属性或字段
关联外表关系
方法存储过程或函数
使用VS创建DBML:

1.实体类和数据库表

实体类和.NET Framework中的其他类比较相似。但是。实体类使用TableAttribute属性来描述其与数据库中表的关联关系。

[Table(Name="UserInfo")]
public class UserInfo{...}

2.属性或(字段)和数据库表中的列

下面的实例代码创建了一个名称为UserInfo的实体类,该实体类映射到LinqDB数据库中的UserInfo表。ID属性映射到UserInfo表的ID列,并且ID列为UserInfo表的主键。Username属性映射到UserInfo表中的Username列。

[Table(Name="UserInfo")]
public class UserInfo
{
private int iD;
private string username;
///<summary>
///映射ID列
///</summary>
[Columm(IsPrimaryKey=true)]
public int ID
{
get{return iD;}
set{id=value;}
}
///<summary>
///映射ID列
///</summary>
[Column]
public string Username
{
get{return username;}
set{username=value;}
}
...
}

3.关联和数据库外键关系;

下面的实例代码在UserInfo类中创建了一个名称为UserRole的关联,该关联映射到UserInfo和UserRole表的外键关系(UserInfo_UserRole).

[Table(Name="UserInfo")]
public calss UserInfo
{
...
private EntitySet <UserInfo>_UserRole;
[Association(Name="UserInfo_UserRole",Storage="_UserRole",OtherKey="UserID")]
private EntitySet<UserRole>UserRole
{
get{return_UserRole;}
set{_UserRole.Assign(value);}
}
...
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值