Comparez les options SET pour SSMS et vos sessions LINQ :
SELECT * FROM sys.dm_exec_sessions
WHERE session_id in (@@SPID, @LINQSESS)
(remplacez @LINQSESS par votre identifiant de session Linq)
ARITHABORT est souvent le coupable, voyez si cela résout votre problème :
new SqlCommand("SET ARITHABORT ON", connection).ExecuteNonQuery();