Я использую Dapper вместо Entity Framework. Возникла ошибка при попытке использовать вложенный объект в качестве параметра запроса.
Ошибка выглядит следующим образом:
Член устройства типа App.Model.Device не может быть используется в качестве значения параметра.
Если есть что-то, что я могу улучшить в своей структуре вопроса, оставьте комментарий. Не Bash. Спасибо
У меня есть классы, которые выглядят так:
public class RootObject
{
public List<Datum> data { get; set; }
}
public class Datum
{
public Device device { get; set; }
public long time { get; set; }
public string data { get; set; }
}
public class Device
{
public string id { get; set; }
}
И запрос вставки A SQL, который выглядит примерно так:
private const string InsertQuery = @"Insert into iot.[Table] (DeviceID,DeviceData,UnixTime) values(@device.id,@data,@time)";
Функция вставки Dapper :
public CreateCommand(List<Datum> Datums)
{
_Datums = Datums;
}
public void Execute()
{
Insert();
}
private void Insert()
{
using (var connection = DatabaseConfiguration.SqlServer())
{
using (var transaction = connection.BeginTransaction())
{
try
{
connection.Execute(InsertQuery, _Datums, transaction);
transaction.Commit();
}
catch (Exception)
{
transaction.Rollback();
throw;
}
}
}
}