如何使用 Dapper 在 Blazor 中从 MySql 获取新添加的 Id
How to get the newly add Id from MySql in Blazor using Dapper
我是 blazor 的新手,甚至 asp,我从网上学习了如何使用 Dapper 以及更新和删除数据,但是,我想插入一条新记录到 MySql 数据库并获取新插入的Id。
我使用以下代码进行更新和删除。
public Task SaveData<T>(string sql, T parameters, string connectionstring)
{
using (IDbConnection connection = new MySqlConnection(connectionstring))
{
return connection.ExecuteAsync(sql, parameters);
}
}
你能帮我实现这个吗,谢谢
假设您的 sql 参数中包含什么,您可以这样做:
string sql = @"
INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff);
SELECT CAST(SCOPE_IDENTITY() AS INT)";
我设法通过调整代码解决了这个问题:-
public async Task<int> InsertData<T>(string sql, T parameters, string connectionstring)
{
using (IDbConnection connection = new MySqlConnection(connectionstring))
{
var newId = await connection.QueryAsync<int>(sql + "SELECT LAST_INSERT_ID();", parameters);
return newId.Single();
}
}
和插入字符串如下:
在剃须刀组件中:
var sql= @"INSERT INTO countries (Name,Remarks,IsDeleted) VALUES (@Name,@Remarks,@IsDeleted);";
int CountryId = await _fetchData.InsertData(sql, new {Name = CountryName, Remarks = Remarks, IsDeleted= false},_config.GetConnectionString("DefaultConnection"));
我是 blazor 的新手,甚至 asp,我从网上学习了如何使用 Dapper 以及更新和删除数据,但是,我想插入一条新记录到 MySql 数据库并获取新插入的Id。 我使用以下代码进行更新和删除。
public Task SaveData<T>(string sql, T parameters, string connectionstring)
{
using (IDbConnection connection = new MySqlConnection(connectionstring))
{
return connection.ExecuteAsync(sql, parameters);
}
}
你能帮我实现这个吗,谢谢
假设您的 sql 参数中包含什么,您可以这样做:
string sql = @"
INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff);
SELECT CAST(SCOPE_IDENTITY() AS INT)";
我设法通过调整代码解决了这个问题:-
public async Task<int> InsertData<T>(string sql, T parameters, string connectionstring)
{
using (IDbConnection connection = new MySqlConnection(connectionstring))
{
var newId = await connection.QueryAsync<int>(sql + "SELECT LAST_INSERT_ID();", parameters);
return newId.Single();
}
}
和插入字符串如下: 在剃须刀组件中:
var sql= @"INSERT INTO countries (Name,Remarks,IsDeleted) VALUES (@Name,@Remarks,@IsDeleted);";
int CountryId = await _fetchData.InsertData(sql, new {Name = CountryName, Remarks = Remarks, IsDeleted= false},_config.GetConnectionString("DefaultConnection"));