gpt4 book ai didi

c# - DapperORM中 'SELECT CAST(SCOPE_IDENTITY() as int)'的重要性

转载 作者:行者123 更新时间:2023-12-03 21:52:02 24 4
gpt4 key购买 nike

我是 C# 的新手,而且绝对是 Dapper.NET 的新手。这是我第一次处理 ORM 和框架,所以我想了解更多有关语法的信息。

我看过几个INSERT 查询并注意到它们都有这个

SELECT CAST(SCOPE_IDENTITY() AS INT);

INSERT INTO...; 行之后。

我想知道它的重要性或用途。谢谢

编辑:这是我编写的一些代码,就我所测试的而言,它是有效的。

这是 Users.cs:

public class Users
{
private int _uid;
private string _fullname;
private string _username;
private string _passcode;

public int uid
{
get { return _uid; }
set { _uid = value; }
}

public string fullname
{
get { return _fullname; }
set { _fullname = value; }
}

public string username
{
get { return _username; }
set { _username = value; }
}

public string passcode
{
get { return _passcode; }
set { _passcode = value; }
}
}

这是 insertUser.cs:

public Users InsertData(Users newUser)
{
string strQry = @"INSERT INTO [Users] VALUES (@uid, @fullname, @username, @passcode);
SELECT * FROM [Users] WHERE [uid] = CAST(SCOPE_IDENTITY() as int);";

using(var conn = InitOpenConn())
{
try
{
var ins = conn.Query<Users>(strQry, newUser).Single();

return ins;
}
catch (Exception ex)
{
throw ex;
}
}
}

这是Program.cs:

InsertUser ium = new InsertUser();

try
{
Users newUser = new Users
{
uid = 10,
fullname = "James Bond",
username = "james007",
passcode = "095e3cbaf34467fbe1b0f4cd846a57460718d2b4ca504caca28ae5287e8d076db3ddadac11db87ab6ac9dac4b8d84d9a65e67e98ab6ef979c61f277f51df36f3"
};

Users insUsr = ium.InsertData(newUser);

refreshTable();
MessageBox.Show("Added !");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

最佳答案

SELECT CAST(SCOPE_IDENTITY() AS INT) 

这行代码返回表的最后插入的identity ID。

我们有很多用途。就像我们检查值是否插入一样,如果你想对当前插入的电流执行一些操作。

如果您使用的是 EF(ORM),那么您的表是 EMp_master,那么您可以使用以下语法获取当前插入的 ID

EMp_master obj=new Emp_master
obj.first="suraj";
obj.Emp_master.add(obj);
obj.savechagnes();

int currentinsertedid = obj.empid // this syntax same as SELECT

CAST(SCOPE_IDENTITY() AS INT) both give same record.

关于c# - DapperORM中 'SELECT CAST(SCOPE_IDENTITY() as int)'的重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37453324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com