Thursday

identity insert with SQL (instead of SQL procedure)

You can do the same start you did with the stored procediure. Except that in the _Inserted Event you do:

DbCommand command = e.Command;
string eid;

command.CommandText = "SELECT @@IDENTITY";
eid= command.ExecuteScalar().ToString();