在向大家详细介绍LINQ to SQL构造数据库之前,首先让大家了解下LINQ to SQL概念,然后全面介绍LINQ to SQL构造数据库。
LINQ to SQL概念
什么是LINQ to SQL? LINQ to SQL 是O/RM(对象关系映射)在.NET Framework“Orcas" release中的的一种实现,它允许你用.NET 的类来生成一个关系型的数据库。然后你可以用LINQ对从该对象中对数据库进行查询,更新/插入/删除。LINQ to SQL完全支持事务,视图和存储过程。它还提供了一种方便地在你的数据模型中对集合数据验证和业务逻辑规则的进行验证的方法。
LINQ to SQL构造数据库
VS "Orcas"中内置了一个提供了一种简单地将数据库可视化地转换为LINQ to SQL关系模型的设计器。我下一篇博客将会更深入一些来介绍怎么使用该设计器(你可以看这个我在1月份录制地关于如何使用它的录像)
通过LINQ to SQL设计器我可以方便地设计出如下的作为事例的"Northwind"数据库模型:
上图定义了四个实体类:Product, Category, Order and OrderDetail. 每个类的属性都映射到数据库中相应的表中。每个类的实例代表了数据表中的一行记录。
在上图中,四个实体类中的箭头代表了各个实体之间的关系。它们主要是根据数据库中的主键/外键关系生成的。设计器上的箭头的指向表明了该关系是一对一还是一对多的关系。基于此,强类型的属性将会被加入到此实体类中。例如,上边的Category类和Product类之间有一个“一对多”的关系。这意味着我可以有一个"Categories"属性,该属性代表了所有的在该类中的产品对象集合。Product类将会有一个"Category"属性来指向一个Category 类的实例,该Category类的实例表明了了产品所属的类别。
LINQ to SQL设计器的右侧是跟我们的数据库模型交互的存储过程。上边的例子中我添加了一个“GetProductsByCategory”存储过程。它有一个categoryID作为输入参数,返回一个产品序列。下面的事例代码将展示如何调用该存储过程。以上介绍LINQ to SQL构造数据库。
【编辑推荐】