很多人用EF的默认链接工厂:System.Data.Entity.Infrastructure.LocalDbConnectionFactory
然后我一开始就不习惯,然后研究了一下,截图如下
public System.Data.Common.DbConnection CreateConnection(string nameOrConnectionString)System.Data.Entity.Infrastructure.LocalDbConnectionFactory 的成员
摘要:基于给定的数据库名称或连接字符串为 SQL Server LocalDb 创建连接。如果给定的字符串包含“=”字符,则将其视为一个完整的连接字符串,否则仅将其视为数据库名称。
参数:nameOrConnectionString: 数据库名称或连接字符串。
返回值:已初始化的 DbConnection。
这也是 为什么可以用【name=数据库链接名】的意思。
很多人基本都在用Model frist和db frist时用自己命名的实体Dbcontext名
public string BaseConnectionString { get; }System.Data.Entity.Infrastructure.SqlConnectionFactory 的成员
摘要:要用于“初始目录”之外的数据库的选项的连接字符串。在调用 CreateConnection 时,将基于数据库名称在此字符串前预置“初始目录”。默认值为“Data Source=./SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True”。
返回值:连接字符串。
public string BaseConnectionString { get; }System.Data.Entity.Infrastructure.LocalDbConnectionFactory 的成员
摘要:用于“初始目录”、“数据源”和“AttachDbFilename”之外的数据库选项的连接字符串。调用 CreateConnection 时,将基于数据库名称在此字符串前添加“初始目录”和“AttachDbFilename”。将基于 LocalDbVersion 参数设置“数据源”。默认值为“Integrated Security=True; MultipleActiveResultSets=True;”。
两者的默认值都是不一样的。
我用的EF4.4版本,发现链接工厂有三个, SqlConnectionFactory, LocalDbConnectionFactory,SqlCeConnection Factory。最后一个是针对小型数据库SqlCE,Access等。