Я использую Subsonic 3.0.0.3 с ActiveRecord, работающим с базой данных MySQL. Я считаю, что это прекрасно работает:
// Approach 1
var db = new testDB();
db.Insert.Into<company>(c => c.name) .Values("Acme") .Execute();
Но это вылетает:
// Approach 2
company c = new company();
c.name = "Acme";
c.Save();
Сбой не мгновенный, а при выключении:
One of the background threads threw exception: System.NullReferenceException: Object reference not set to an instance of an object.
at MySql.Data.MySqlClient.NativeDriver.FetchDataRow(Int32 statementId, Int32 columns)
at MySql.Data.MySqlClient.Driver.FetchDataRow(Int32 statementId, Int32 columns)
at MySql.Data.MySqlClient.Driver.SkipDataRow()
at MySql.Data.MySqlClient.ResultSet.Close()
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlDataReader.Close()
at MySql.Data.MySqlClient.MySqlConnection.Close()
at MySql.Data.MySqlClient.MySqlConnection.Dispose(Boolean disposing)
at System.ComponentModel.Component.Finalize()
Test host process exited unexpectedly.
Учитывая, что с подходом 1 я не могу понять, как получить вновь вставленный идентификатор записи, а с подходом 2 происходит сбой, я немного застрял ...
Есть идеи?