一尘不染

如果存在到linq的sql中的语句

sql

以下语句的linq等价是什么?

IF NOT EXISTS(SELECT UserName FROM Users WHERE UserName='michael')
BEGIN
INSERT INTO Users (UserName) values ('michael');
END

还可以建议任何sql-to-
linq转换器吗?我目前正在使用LINQPad,它在编写linq代码方面做得很好,您还可以看到生成的sql代码,但是当我单击小linq符号时,什么都没有显示。


阅读 136

收藏
2021-03-17

共1个答案

一尘不染

由于LINQ语法和扩展方法不支持插入,因此仅凭一条语句就无法在LINQ2SQL中完成。以下(假定名为的数据上下文db)应该可以解决问题。

 if (!db.Users.Any( u => u.UserName == "michael" ))
 {
      db.Users.InsertOnSubmit( new User { UserName = "michael" } );
      db.SubmitChanges();
 }
2021-03-17