当我用entity framework 查询了一下,数据库就删不掉了.
entity framework操作完了后不是用meta.Dispose();就可以释放了吗?
为什么我手动删除数据库的时候,提示数据库正在使用?
我感觉EF这东西太怪了
static void Main(string[] args) { using(SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); } Console.Read(); }
你建立一个 Console 程序,然后输入上面的代码,运行,不要关闭程序,然后去数据库看看你能否删除掉。
然后你再用这段代码按照相同的方式测试下。
static void Main(string[] args) { using(SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlConnection.ClearPool(conn); } Console.Read(); }
最后再给你段代码,还是按照相同的方式测试下:
static void Main(string[] args) { using (SqlConnection conn = new SqlConnection("xxx=xxx;xxx=xxx;Pooling=false")) { conn.Open(); } Console.Read(); }
注意连接字符串比默认的多了个 “Pooling = false”。