Dapper дает необработанное исключение при попытке вставить данные в базу данных - PullRequest
1 голос
/ 30 мая 2019

Я пишу плагин 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, он все равно не работает (это необработанныйисключение).

Я действительно не понимаю, что я делаю неправильно.

Есть идеи?

...