Вы пробовали BLToolkit . Он поддерживает LINQ, а также многие другие полезные операции, которые отсутствуют в LINQ2SQL: т.е. DML с человеческим лицом:)
По вашему вопросу: BLToolkit содержит InsertWithIdentity method
var value = db.Employee.InsertWithIdentity(() => new Northwind.Employee
{
FirstName = "John",
LastName = "Shepard",
Title = "Spectre",
HireDate = Sql.CurrentTimestamp
});
или
var value =
db
.Into(db.Employee)
.Value(e => e.FirstName, "John")
.Value(e => e.LastName, "Shepard")
.Value(e => e.Title, () => "Spectre")
.Value(e => e.HireDate, () => Sql.CurrentTimestamp)
.InsertWithIdentity();