我有以下代码:
public void SaveBoardgameCollection(BoardgameCollection boardgameCollection)
{
if (boardgameCollection?.BoardgameUserStatusList.Count > 0)
{
using (IDbConnection connection = new SqlConnection(_databaseConnectionString.ConnectionString))
{
connection.Execute("dbo.BoardgameCollectionInsert @BoardGameComment, @Own, @ForTrade, @Want, @WantToPlay, @WantToBuy, @WishList, @Grade, @GameId, @PreOrdered, @PrevOwned", boardgameCollection.BoardgameUserStatusList);
}
}
}
说SP现在需要另一个BoardgameUserStatusList对象不包含的参数。如何在同一Execute中提供此代码,例如用户ID(GUID)?
编辑:
如果我这样做:
queryParameters = new DynamicParameters();
queryParameters.Add("@MyParameter1", boardgameCollection.BoardgameUserStatusList);
queryParameters.Add("@MyParameter2", System.Guid.NewGuid());
//@BoardGameComment, @Own, @ForTrade, @Want, @WantToPlay, @WantToBuy, @WishList, @Grade, @GameId, @PreOrdered, @PrevOwned
connection.Execute("dbo.BoardgameCollectionInsert ", queryParameters);
我将收到一个NotSupportedException,它指出BoardgameUserStatus(BoardgameUserStatusList中的对象不能用作参数值?
答案 0 :(得分:0)
您是否尝试过使用动态参数?这是一个简单的例子。
var parameters = new DynamicParameters();
parameters.Add("@MyParameter", value);
parameters.Add("@MySecondParameter", value2);
using (IDbConnection connection = new SqlConnection(_databaseConnectionString.ConnectionString))
{
db.ExecuteAsync("dbo.BoardgameCollectionClear", parameters, commandType: CommandType.StoredProcedure);
}