从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~一 DBContext的构造方法,方法的重载
五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged
六 LINQTOSQL中为我们触发了SendPropertyChanging和SendPropertyChanged,它的真正用意是什么
七 为DBContext对象应该作为其它实体操作类型的基类,并为它提供统一的提交动作
当我们建立一个linq to sql的DBML文件后,我们可以打开它的代码文件,看一个IDE为我们自动生成的东西,这个系列的课程,主要是讲它的这个代码文件,今天简单说一下,DataContext类的构造方法:
它的构造方法如下:
public TESTDataContext() : base(global::Entity.Properties.Settings.Default.testConnectionString, mappingSource) { OnCreated(); } public TESTDataContext(string connection) : base(connection, mappingSource) { OnCreated(); }
第一个方法,主要是没有参数时调用,这时,它默认使用生成器创建的链接串,不提倡使用这样文件,移植不方便。第二个方法,带有一个连接字符串的,它可以在配置文件中去设置,在程序移植时,修改配置文件即可。大家可能已经注意在,在方法中有一个mappingSourc变量,它其实是模块与数据库映射的源对象,在DBML中有这样的定义
private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
它是一个static 类型的MappingSource 的一个实体,就是说,它与实例无关,它只与当前DBContext相关,DBContext我们一般称为数据上下文。
MappingSource :表示映射信息的源
AttributeMappingSource:使用上下文中的属性创建映射模型的映射源
其中AttributeMappingSource是MappingSource的派生类,只负责一些特性信息的设置。
它
还
是数据库和LINQ的桥梁,除此之外,还可以使用XmlMappingSource创建模型。