C# 使用LINQ to SQL插入后返回ID

C# 使用LINQ to SQL插入后返回ID,c#,linq-to-sql,using,C#,Linq To Sql,Using,我知道已经有很多关于这方面的话题了,因为我已经在谷歌上搜索过了,但就我所见,没有一个能适合我的代码。我只想在插入后从数据库返回一个自动生成的ID。这是我代码的一部分: using (***LINQDataContext dc = new ***LINQDataContext()) { dc.Users.InsertOnSubmit(new User { Username = user, Passwor

我知道已经有很多关于这方面的话题了,因为我已经在谷歌上搜索过了,但就我所见,没有一个能适合我的代码。我只想在插入后从数据库返回一个自动生成的ID。这是我代码的一部分:

    using (***LINQDataContext dc = new ***LINQDataContext())
    {
        dc.Users.InsertOnSubmit(new User
        {
            Username = user,
            Password = EncryptPassword(user, pass, 1, null, null),
            Email = email
        });

        dc.SubmitChanges();

        return true;
    }

您需要使用语句将您的
新用户…
提升为
的一个局部变量,这样您就可以在
SubmitChanges()
之后访问它,对吗?(ducks)Naah EncryptPassword是我使用的密码哈希函数。但是如果您使用的是Linq-2-sql,您可能希望返回用户而不是ID。。。
var newUser = new User {
    Username = user,
    Password = EncryptPassword(user, pass, 1, null, null),
    Email = email
};
dc.Users.InsertOnSubmit(newUser);
dc.SubmitChanges();
// any identity / rowversion properties should now have values
var id = newUser.Id;