Я пишу плагин C # для Autodesk Navisworks, который будет перебирать кучу трехмерных элементов и записывать их свойства (пока что категорию и семейство элемента) в базу данных Azure.
I'mиспользуя Dapper в качестве ORM.Когда я пытаюсь вставить данные в базу данных, происходит сбой Navisworks, что приводит к неэкранированному исключению.
Я попытался выполнить процедуру ssame с простым sql, и все работает нормально, поэтому я вполне уверен, что это - функция выполнения Dapper, выдающая исключение.
Это мой объект:
internal class NavisTest
{
public string Category { get; set; }
public string Family { get; set; }
public NavisTest(string category, string family)
{
Category = category;
Family = family;
}
}
Это команда sql:
const string navisTestSql = "insert into NavisTest " +
"(Category, Family) " +
"values (@category, @family);";
И это основная логика:
using (SqlConnection connection = new SqlConnection(
NavisDbSettings.ConnectToDB().ConnectionString))
{
// Open connection to db
connection.Open();
using (SqlTransaction transaction = connection.BeginTransaction())
{
NavisTest navisTest = new NavisTest(
"Wall",
"Concrete Wall 01");
connection.Execute(NavisDbSqlCommands.navisTestSql, navisTest, transaction: transaction);
// Commit database transaction
transaction.Commit();
}
}
Так что при запуске Navisworks просто падает, но если я делаю с обычным SqlCommand, все работает нормально.(Также я в основном скопировал код для вставки в БД из другого приложения, которое у меня отлично работает)
Кроме того, если я пытаюсь заключить код в предложение try-catch, он все равно не работает (это необработанныйисключение).
Я действительно не понимаю, что я делаю неправильно.
Есть идеи?