지금은 각 테이블 값 형식에 대해 SqlMapper.IDynamicParameters를 구현하는 클래스를 만들어야합니다. (하지 테스트)
수정 예를
http://todothinkofname.net/2016/05/30/Dapper-with-Net-core/
public class ParameterTvp : SqlMapper.IDynamicParameters
{
private readonly IEnumerable<string> _parameters;
public ParameterTvp(IEnumerable<string> parameters)
{
_parameters = parameters;
}
public void AddParameters(IDbCommand command, SqlMapper.Identity identity)
{
var sqlCommand = (SqlCommand) command;
sqlCommand.CommandType = CommandType.StoredProcedure;
var items = new List<SqlDataRecord>();
foreach (var param in _parameters)
{
var rec = new SqlDataRecord(new SqlMetaData("Parameter", SqlDbType.NVarChar, 100));
rec.SetString(0, param);
items.Add(rec);
}
var p = sqlCommand.Parameters.Add("@param", SqlDbType.Structured);
p.Direction = ParameterDirection.Input;
p.TypeName = "ParameterTableType";
p.Value = items;
}
}
사용
using (var connection = new SqlConnection(connectionString))
{
var parameters = new ParameterTvp(new List<string>() { "XXXXXXXX" });
connection.Execute("test", parameters);
}
[여기] (http://stackoverflow.com/questions/41132350/is-there-a-way-to-pass-a-tvp-to-dapper-on-net-core-right-now) another 예를 들어 스택에. – bbsimonbb
링크 된 리소스의 일부 샘플 코드를 여기로 되돌릴 수 있습니까? – VMAtm
@VMAtm 해당 링크에서 수정 된 코드 예제를 추가했습니다. –