对象之间的关系
既然是对象-关系映射,各个表之间肯定不是独立存 在的(如果都是独立存在的,也没有必要用关系数据库了),那么就必然涉及到几 个表之间的联合了。
Linq to SQL和SQL语句一样,支持两种方式的联合 :
1.利用where子句,对两个表进行查找
2.使用join子句
我们还是用例子来说明吧,现在要对blogs和posts进行查询,传入一篇文章的id 的时候,找出这篇文章相关信息的同时还要找出这篇文章属于哪个博客,接着上 篇的例子,我们首先得给Blog类加上映射:
博客类映射(Blog)
/**////
/// 博客类
///
[Table (Name="blogs")]
public class Blog
{
/**////
/// 博客标识
///
[Column (Name="blogid",IsPrimaryKey=true,IsDbGenerated=true)]
public int Id { get; set; }
/**////
/// 用户标识,和用户相关联
///
[Column]
public int UserId { get; set; }
/**////
/// 博客的中文名
///
[Column]
public string Name { get; set; }
/**////
/// 创建时间
///
[Column]
public DateTime CreateDate { get; set; }
/**////
/// 一个博客有零篇或多篇文章,这个就先不管了
/// 不 建立映射关系
///
public IList<Post> Posts { get; set; }
}