Entities 是 Entity framwork实体对象
或
用sqlserver Profiler 监控到以上语句不会连接数据库。也就是new entityes()
不会和数据库发生关系。
用sqlserver Profiler 监控到内容如下图。会出现10次。
Audit logout : 事件类指示用户已成功登录到 Microsoft SQL Server。此类中的事件由新连接或从连接池中重用的连接触发。
Sp_reset_connection:从连接池重用Connection都会调用一次,重新设置连接参数。
用sqlserver Profiler 监控到会连接10次。
也几是说
for(int i=0;i<10;i++)
{
using (Entities en = new Entities())
{
int a = en.LoginHistory.Count();
}
}
和
using (Entities en = new Entities())
{
for(int i=0;i<10;i++)
{
int a = en.LoginHistory.Count();
}
}
两者是一样的。也就是说new entityes()不会建立数据库对象。
只有用到具体实体时(如: en.LoginHistory.Count();)才会从连接池中取连接对象,和数据库建立连接。