学Linq to sql(八):继承与关系

论坛表结构

为了演示继承与关系,我们创建一个论坛数据库,在数据库中创建三个表:

1、论坛版块分类表 dbo.Categories:

字段名 字段类型 可空 备注
CategoryID int not null identity/主键
CategoryName varchar(50) not null  

2、论坛版块表 dbo.Boards:

字段名 字段类型 可空 备注
BoardID int not null identity/主键
BoardName varchar(50) not null  
BoardCategory int not null 对应论坛版块分类表的CategoryID

3、论坛主题表 dbo.Topics:

字段名 字段类型 可空 备注
TopicID int not null identity/主键
TopicTitle varchar(50) not null  
TopicContent varchar(max) not null  
ParentTopic int null 如果帖子是主题贴这个字段为null,否则就是所属主题id
TopicType tinyint not null 0 – 主题贴 1 – 回复帖
时间: 2024-08-17 21:54:11

学Linq to sql(八):继承与关系的相关文章

学Linq to sql(十):分层构架的例子

项目介绍 这节将要把<学Linq to sql (三):增删改>中留言簿的例子修改为使用WCF的多层构架.我们将会建立以下项目: l A,网站项目 WebSite:留言簿表现层 l B,类库项目 Contract:定义数据访问服务的契约 l C,类库项目 Service:定义数据访问服务 l D,类库项目Entity:留言簿实体 l E,控制台项目Host:承载数据访问服务 项目之间的引用如下: l A引用B和D: l B引用D和System.ServiceModel程序集 l C引用B.D.

步步学LINQ to SQL:为实体类添加关系

本文详细为你阐述了如何在你的应用程序中实现LINQ to SQL.附件的示例程序包括了这里探讨的所有代码,还提供了一个简单的WPF图形界面程序来显示通过数据绑定返回的结果集. 本部分描述如何实现表间的映射关系:M:1,1:M和M:M.但是这里不会讨论1:1的映射关系,你可以在M:1的关系中发现这种1:1的映射关系.因此,从这里开始,我们将使用Book作为示例为你一步一步讲述这一实现过程. 映射M:1的关系 Book 对象与Category 对象是多对一的关系(M:1),因为一本书仅能属于某一个类

学Linq to sql(一):预备知识

什么是Linq to sql Linq to sql(或者叫DLINQ)是LINQ(.NET语言集成查询)的一部分,全称基于关系数据的 .NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能,它和Linq to xml .Linq to objects.Linq to dataset.Linq to entities等组成了强大的LINQ. 要学好LINQ查询语法,就不得不先理解C# 3.0的一些新特性,下面一一简单介绍. 隐含类型局部变量 var age = 26; var

步步学LINQ to SQL:将类映射到数据库表

该系列教程描述了如何采用手动的方式映射你的对象类到数据表(而不是使用象SqlMetal这样的自动化工具)以便能够支持数据表之间的M:M关系和使用实体类的数据绑定.即使你选择使用了自动生成类的工具,理解这一实现过程可以让你更加方便地对你的应用程序加以扩展. 下面阐述本文的目标以及该示例程序为初级开发人员介绍如何学习LINQ的基本要点: ·使用LINQ to SQL将SQL Server数据库表映射到与之关联的对象上. ·执行一些简单的LINQ查询来检索数据. 本文详细为你阐述了如何在你的应用程序中

学Linq to sql(三):增、删、改

示例数据库 字段名 字段类型 允许空 字段说明 ID uniqueidentifier   表主键字段 UserName varchar(50)   留言用户名 PostTime datetime   留言时间 Message varchar(400) √ 留言内容 IsReplied bit   留言是否回复 Reply varchar(400) √ 留言管理员回复 在数据库中创建一个名为GuestBook的数据库,在里面创建一个tbGuestBook的表,结构如上表. 生成实体类 右键点击网

学Linq to sql(二):DataContext与实体

DataContext DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库. DataContext提供了以下一些使用的功能: l 以日志形式记录DataContext生成的SQl l 执行SQl (包括查询和更新语句) l 创建和删除数据库 DataContext是实体和数据库之间的桥梁,那么首先我们需要定义映射到数据表的实体. 定义实体类 using Syste

学Linq to sql(九):其它补充

外部映射文件 我们可以使用sqlmetal命令行工具来生成外部映射文件,使用方法如下: 1.开始菜单 -> VS2008 ->VS工具 ->VS2008命令行提示 2.输入命令: D:\Program Files\Microsoft Visual Studio 9.0\VC>sqlmetal /conn:server=xxx; database=Northwind;uid=xxx;pwd=xxx /map:c:\northwind.map /code:c:\northwind.cs

学Linq to sql(七):并发与事务

检测并发 首先使用下面的SQL语句查询数据库的产品表: select * from products where categoryid=1 查询结果如下图: 为了看起来清晰,我已经事先把所有分类为1产品的价格和库存修改为相同值了.然后执行下面的程序: var query = from p in ctx.Products where p.CategoryID == 1 select p; foreach (var p in query) p.UnitsInStock = Convert.ToInt

学Linq to sql(六):探究特性

延迟执行 IQueryable query = from c in ctx.Customers select c; 这样的查询句法不会导致语句立即执行,它仅仅是一个描述,对应一个SQL.仅仅在需要使用的时候才会执行语句,比如: IQueryable query = from c in ctx.Customers select c; foreach (Customer c in query) Response.Write(c.CustomerID); 如果你执行两次foreach操作,将会捕获到两