If EF is responsible for providing your connection, EF will dispose of it after use. If you close or dispose the connection, your DataContext will most likely not work as you expect.
I don't think it's necessary to check for ConnectionState == Open, I probably wouldn't unless I see problems related to it
check this link