Предоставить несколько параметров с Dapper? - PullRequest
0 голосов
/ 06 марта 2019

У меня есть этот код:

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, например, идентификатор пользователя (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 нельзя использовать в качестве значения параметра?

1 Ответ

0 голосов
/ 06 марта 2019

Вы пытались использовать динамический параметр? Вот простой пример.

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);
}
...