(LINQ 学习系列)(1)使用 LINQ to SQL 的典型步骤
来源:互联网 发布:域名注册通专业版破解 编辑:程序博客网 时间:2024/06/06 18:08
本文作为学习LINQ的基础,全部内容来源于MS LINQ的学习资料整理
LINQ to SQL 是 .NET Framework 3.5版的一个组件,提供了用于将关系数据作为对象管理的运行时基础结构。
语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中引入的一项创新功能,它在对象领域和数据领域之间架起了一座桥梁。
传统上,针对数据的查询都是以简单的字符串表示,而没有编译时类型检查或 IntelliSense支持。此外,您还必须针对以下各种数据源学习一种不同的查询语言:SQL数据库、XML 文档、各种 Web 服务等等。LINQ使查询成为 C# 和 Visual Basic 中的一流语言构造。您可以使用语言关键字和熟悉的运算符针对强类型化对象集合编写查询。
使用 LINQ to SQL 的典型步骤
创建对象模型
第一步是用现有关系数据库的元数据创建对象模型。对象模型按照开发人员所用的编程语言来表示数据库。
1.选择用于创建模型的工具。
有三种工具可用于创建模型。
- 对象关系设计器。
此设计器提供了用于从现有数据库创建对象模型的丰富用户界面。此工具是 Visual Studio IDE的一部分,最适合小型或中型数据库。
· SQLMetal代码生成工具
此命令行实用工具提供了与 O/R设计器略微不同的一组选项。最好使用此工具对大型数据库进行建模。
例如我的数据库是Sqlserver 2008 ,库名为lxPower
生成一个包含提取的 SQL元数据的 .dbml 文件:
sqlmetal /server:localhost /database:yourdatabase /user:sa /password:XXX /dbml:mymeta.dbml
直接基于 SQL元数据生成源代码:
sqlmetal /server:localhost /database: yourdatabase /namespace:meetweb /code:d:/linqtest.cs /language:csharp
将以上生成的文件拷贝到vs2010,然后包含在你的项目之中,然后通过vs生成需要的 .dbml.layout
· 代码编辑器
您可以通过使用 Visual Studio代码编辑器或其他编辑器编写自己的代码。我们建议,在您具有现有数据库且可以使用 O/R设计器或 SQLMetal 工具时不要使用这种方法,因为这种方法容易出错。但是,代码编辑器在改进或修改您已通过使用其他工具生成的代码方面非常有用。
可以通过手工或者其他设计工具把基础类生成出来,但是这种方法只比较适合读取数据,其他添加,删除等动作无法直接使用.
2.选择您要生成的代码类型。
· 用于基于属性的映射的 C#或 Visual Basic 源代码文件。
然后将此代码文件加入您的 Visual Studio项目中。
· 用于外部映射的 XML文件。
通过使用此方法,您可以将映射元数据放在应用程序代码外部。
DBML 文件,您可以在生成最终代码文件之前修改此文件。
3.改进代码文件以反映您的应用程序的需要。
为此,您可以使用 O/R设计器或代码编辑器。
使用对象模型
1.创建查询以从数据库中检索信息。
2.重写 Insert、Update和 Delete 的默认行为。
这一步是可选的。
LINQ to SQL 不支持且无法识别级联删除操作。如果要从表中删除一个具有约束的行,必须在数据库的外键约束中设置ON DELETE CASCADE 规则,或者使用自己的代码首先删除那些阻止删除父对象的子对象。否则,将会引发异常。
3.设置适当的选项以检测和报告并发冲突。
您可以保留模型用于处理并发冲突的默认值,也可以根据您的需要对其进行更改。有。
4.建立继承层次结构。
这一步是可选的。
5.提供合适的用户界面。
这一步是可选的,取决于您的应用程序的使用方式。
- (LINQ 学习系列)(1)使用 LINQ to SQL 的典型步骤
- (LINQ 学习系列)(2)LINQ to SQL 查询
- LINQ To SQL深入学习系列之一(C#3.0为LINQ的加强之一)
- linq to sql 学习(6)linq的分页实例
- Linq to sql 步骤
- 【linq to sql】步骤
- LINQ To SQL深入学习系列之一(C#3.0为LINQ的加强之一Lambda 表达式)
- LINQ To SQL深入学习系列之二(C#3.0为LINQ的加强之二)
- 什么是Linq to sql 学习linq 1
- LINQ to SQL系列Part 1 - Using LINQ to SQL
- linq to sql 的学习
- linq to sql 学习(2) 简介
- Linq系列文章(一):Linq 是什么?Linq 和Linq to sql 的区别
- Linq to Sql 学习系列出处
- linq to sql 学习(7)linq的分组汇总操作
- linq to sql 学习(8)linq的多表查询实例
- linq to sql 学习(9)linq的多表关联汇总
- linq to sql 学习(10)linq动态字段的解决方法
- 11-16新建一个对Class表进行插入,删除,更新的功能网页。
- oracle pl/sql面试题
- linux进程查看top与ps
- could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridg
- FreeMaker 详解
- (LINQ 学习系列)(1)使用 LINQ to SQL 的典型步骤
- CSS3+js实现多彩炫酷旋转圆环时钟效果
- Android APK+Dex文件反编译及回编译工具 比 APKtool GUI 好千倍
- 海量数据挖掘的关键技术及应用现状
- ArcGIS10.1下32位和64位引发问题解决方案
- 为什么要升级到SQL Server 2005
- QT中各种数据类型之间的转换
- Myeclipse使用及改字体
- C++第12周项目3——四数的最大公约数