Step1:建立数据库
      在使用Linq to Sql前,我们要将相应的数据库建好。在这个Demo中,使用的数据库是SQL Server Express 2005。
      我们首先建立一个叫的数据库MyBulletin,及两个数据表:Category和Bulletin,分别表示公告的分类和公告,建立方法不再赘述。至于两个表的具体字段请参看图1。

图1、数据表结构

其中Category和Bulletin存在一个一对多的关联,表示一个分类下可以有多条公告。

  Step2:建立LINQ to SQL Classes文件
      数据建好后,我们需要建立LINQ to SQL Classes文件。这种文件是Linq to Sql框架的主要文件,后面自动生成的实体类和ORM代码都存在于这个文件中。
      我们打开VS2008,新建一个C# Class Labrary工程,名称为LinqToSqlDemo.Orm,建好后在工程上单击右键,选择“Add”->“New Item”,在文件类型中选择“LINQ to SQL Classes”,文件名命名为“DataClasses.dbml”,如图2所示。

图2、新建LINQ to SQL Classes文件

  Step3:根据数据库表自动生成代码
      当建好LINQ to SQL Classes后,VS主界面中自动打开了这个文件。可以看到,这个文件实际是一个设计文件,目前还不包含任何代码和元素。下一步就是利用我们刚才的数据库自动生成ORM代码了。
      打开Server Explorer面板。一般它位于VS的左上角,如果没有,请到View菜单中去打开。然后在Date Connections上右键单击,选择“Add Connection”,从这里添加对数据库MyBulletin的连接。

图3、添加数据库连接

如图3所示,在Server name中填入SQL Server数据库服务的名字,如果使用的是SQL Server Express 2005,服务名一般是“计算机名\SQLEXPRESS”的格式,然后在“Select or enter a database name”中选择MyBulletin,单击“OK”,就连上我们所需的数据库了。
      这时,展开这个连接下的Tables节点,应该能看到Category和Bulletin两个表,选中两个表,将它们拖到DataClasses.dbml的设计区,就会看到如图4所示的样子。

图4、设计视图

然后,按Ctrl+S保存,OK!ORM构建完了!
      没有骗你,所有需要的代码已经生成完成,现在可以使用它们操作MyBulletin数据库了。不要怀疑,Linq to Sql使用起来就是这么轻松加愉快,不需要写一行代码,也不需要写一个XML字符,ORM就构建完了!
      我知道你没看到生成的东西可能不太放心,那么你可以在Solution Explorer里展开DataClasses.dbml节点,看到里面的DataClasses.designer.cs文件没,打开它,里面就是刚才自动生成的代码,我们的数据访问操作就靠这些代码了。另外顺表提一下,数据库的连接字符串放在工程根目录下的app.config文件里,这也是自动生成的,打开它,就可以看到连接字符串。以后如果要修改连接字符串,就修改这里。
      好了,ORM构建好了,下面我们看看怎么用。

LINQ to SQL快速上手 step by step的更多相关文章

  1. Spark 基础之SQL 快速上手

    知识点 SQL 基本概念 SQL Context 的生成和使用 1.6 版本新API:Datasets 常用 Spark SQL 数学和统计函数 SQL 语句 Spark DataFrame 文件保存 ...

  2. Linq之Linq to Sql

    目录 写在前面 系列文章 Linq to sql 总结 写在前面 上篇文章介绍了linq to xml的相关内容,linq to xml提供一种更便捷的创建xml树,及查询的途径.这篇文章将继续介绍l ...

  3. SQL Server 维护计划实现数据库备份(Step by Step)(转)

    SQL Server 维护计划实现数据库备份(Step by Step) 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server  ...

  4. 使用C#+Linq+SQL快速开发业务

    C#开发桌面程序的效率确实很高,今天就来总结下如何使用C#+Linq+SQL快速开发一个新的业务系统. Linq是微软官方的轻量级的ORM工具,使用它结合SQL可以快速的生成实体类,再通过Linq操作 ...

  5. MDX导航结构层次:《Microsoft SQL Server 2008 MDX Step by Step》学习笔记九

    <Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次   SQL Server 2008中SQL应用系列及BI笔记系列--目录索 ...

  6. 快速上手pandas(上)

      pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation to ...

  7. Step by step Dynamics CRM 2011升级到Dynamics CRM 2013

    原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...

  8. smarty 快速上手

    smarty半小时快速上手入门教程 投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-10-27我要评论 这篇文章主要介绍了smarty半小时快速上手入门教程,以实例的形 ...

  9. WPF Step By Step 系列 - 开篇 ·

    WPF Step By Step 系列 - 开篇 公司最近要去我去整理出一个完整的WPF培训的教程,我刚好将自己学习WPF的过程和经验总结整理成笔记的方式来讲述,这里就不按照书上面的东西来说了,书本上 ...

随机推荐

  1. Block存储区域

    Block存储区域 首先,需要引入三个名词: ● _NSConcretStackBlock ● _NSConcretGlobalBlock ● _NSConcretMallocBlock 正如它们名字 ...

  2. H - R(N)

    H - R(N) Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  3. Python 基礎 - bytes數據類型

    三元運算 什麼是三元運算?請看下圖說明 透過上圖說明後,可以得出一個三元運算公式: result = 值1 if 條件 else 值2, 如果鯈件為真: result = 值1 如果鯈件為假: res ...

  4. PAT (Basic Level) Practise:1023. 组个最小数

    [题目链接] 给定数字0-9各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意0不能做首位).例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是 ...

  5. AJAX部分---对比js做日期的下拉选择 和 ajax做三级联动;

    js做日期选择: 实现当前年份的前5后5年的日期选择 实现功能:年份和月份页面加载完成使用JS循环添加,天数根据月份的变化动态添加改变 扩展功能:天数可以根据闰年平年变化 <body> & ...

  6. CommandExtra.lua --游戏命令扩展

    --[[作者信息: Command Extra (游戏命令扩展) 作者QQ:247321453 作者Email:247321453@qq.com 修改日期:2014-3-12 功能:添加额外的命令.G ...

  7. SQL Server Profiler工具

    一.SQL Profiler工具简介 SQL Profiler是一个图形界面和一组系统存储过程,其作用如下: 图形化监视SQL Server查询: 在后台收集查询信息: 分析性能: 诊断像死锁之类的问 ...

  8. 通过Oracle补充日志,找到锁阻塞源头的SQL

    问题背景: 有时会考虑一件事情,如果在Oracle环境下出现了锁阻塞的情况,如何定位到SQL源头(通过session.lock.transaction等视图仅能定位到会话)?或许有人会想有没有可能通过 ...

  9. PicPopupWindow的使用

    Github地址https://github.com/lujianfeiccie/android_picpopup_window 效果图1: 效果图2:

  10. asp.net 网站访问变慢

    资料一 单个网站解决方法:   把应用程序池回收时间缩短到300-600分钟,其间回收过程中,需要占用一点CPU资源,没办法,为了稳定性,再把回收时间设为凌晨5点. 多网站解决方法: 视服务器网站的多 ...