我在ActiveRecord上使用Subsonic 3.0.0.3,针对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,我无法弄清楚如何获得新插入的记录ID,而方法2崩溃了,我有点卡住......
有什么想法吗?
答案 0 :(得分:2)
抓住http://github.com/subsonic/SubSonic-3.0的最新消息来源,似乎解决了这个问题。 (我之前使用的是http://subsonicproject.com/Download)
的下载