现在的位置: 首页 > 综合 > 正文

光脚丫学LINQ(034):映射关系的定义推测之ThisKey

2012年01月09日 ⁄ 综合 ⁄ 共 621字 ⁄ 字号 评论关闭

视频演示:http://u.115.com/file/f2a1ed628e

演示重点
要想在两个实体类之间建立映射关系的话,只需要正确的设置ColumnAttribute的Storage、ThisKey和OtherKey三个属性。如果使用的是实体类的字段而非属性的话,甚至连Storage属性都可以省略。
不管是建立怎样的映射关系,最根本的目的就是想要获取与某个对象关联的一些其他的对象。比如我们获取一个Customer对象之后,就像通过它的某一个集合属性来获取与之关联的所有的Order对象。因此,如果想要让LINQ to SQL成功的获取关联数据,则必须至少提供三方面的信息:
1、检索数据的条件。比如要检索的是哪个客户的订单记录。
2、从哪个表检索。比如这些订单记录存储在数据库的那个数据表中。
3、用检索条件比对那个数据列。比如客户的编号是存储在保存订单记录的数据表的哪个列中。
满足了这方面的信息,就能正确获取关联数据了。
ThisKey属性的作用就是用来提供要检索的是哪些数据。此属性值其实是实体类的一个键值属性,而此键值属性的属性值就是指定了要检索的数据。
OtherKey的作用就是用来指定要在WHERE子句中要对那个列进行条件判断,此属性值同样是实体类的一个键值属性,但这次并不需要此键值属性的属性值,而是需要此键值属性所映射的数据列的名字。
至于要从哪个数据表来检索关联的数据,这就有所要获取的实体类型来确定了。其实就是实体类所映射的那个数据表。

抱歉!评论已关闭.