私はSubsonicが動作するようになったので、別のクラスを追加して、私が元にしたことを達成することにしました。SubSonic、GUID、およびMySQL Null参照例外
このエンティティクラスにはIDプロパティ(Guid型)とNameプロパティ(String型)の2つのプロパティしかありません。
クラスのインスタンスを作成するときに、Guid(System.Guid.NewGuid()を使用)を使用して値を設定し、名前を設定してオブジェクトを保存しようとします。
repo.Add<TestingGuid>(test);
これは私が以前の亜音速質問でNull参照例外を引き起こしていたと思われるものです。
例外が(最後の質問と同じ)である:
System.NullReferenceExceptionオブジェクトのインスタンスに設定されていない未処理 メッセージ=オブジェクト参照でした。 ソース= MySql.Data のStackTrace:MySql.Data.MySqlClient.MySqlCommand.ExecuteReaderでMySql.Data.MySqlClient.MySqlConnection.Abort() でMySql.Data.MySqlClient.MySqlConnection.get_ServerThread() で (CommandBehaviorの行動) SubSonic.Query.InsertでMySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(たCommandBehavior挙動)System.Data.Common.DbCommand.ExecuteReader(たCommandBehavior挙動)における SubSonic.DataProviders.DbDataProvider.ExecuteReader(QueryCommandのQRY)で で.ExecuteReader() at SubSonic.Repository.SimpleRepository.Add [T](Tアイテム) gc_ss.Program.Main(String [] args)(C:\ Users \ Michaelm \ Desktop \ Subsonic_Demo \ gc) System.AppDomain.ExecuteAssembly(アセンブリアセンブリ、String [] args) at System.AppDomain.ExecuteAssembly(String assemblyFile、Evidence assemblySecurity、String [] args) at Microsoft.VisualStudio .HostingProcess.HostProc.RunUsersAssembly() System.Threading.ThreadHelper.ThreadStartでSystem.Threading.ExecutionContext.Run(のExecutionContextのExecutionContext、ContextCallbackコールバック、オブジェクト状態) (AT System.Threading.ThreadHelper.ThreadStart_Context(オブジェクトの状態)で ) 内部エラー:
エンティティクラスは、単純に:
です。namespace gc_ss
{
public class TestingGuid
{
public static TestingGuid GetNewTestingGuid()
{
TestingGuid row = new TestingGuid();
row.ID = System.Guid.NewGuid();
return row;
}
public Guid ID { get; set; }
public string Name { get; set; }
}
}
そして、これを実行しているのProgram.csです:
var repo = new SimpleRepository("gcdb", SimpleRepositoryOptions.RunMigrations);
var test = TestingGuid.GetNewTestingGuid();
test.Name = "Mike";
repo.Add<TestingGuid>(test);
データベーステーブルが2列、ID列(バイナリ(16))と、うまく作成されましたし、名前(VARCHAR(255) )。
Guidが気に入らないようです...
アイデアはありますか?
レポ変数がヌルかどうかを確認するだけですか? –
コメントありがとうございますが、いいえ、レポは、テストのように、オブジェクトが設定され、動作しています(レポがテーブルの作成を容易にしました)。しかし、ありがとう。 – Mike