您的位置:首页 > 编程语言 > ASP

ASP.NET网站开发

2018-04-02 16:45 363 查看

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);}
}
...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ASP.NET网站开发