2010-11-19 10 views
0

私は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が気に入らないようです...

アイデアはありますか?

+0

レポ変数がヌルかどうかを確認するだけですか? –

+0

コメントありがとうございますが、いいえ、レポは、テストのように、オブジェクトが設定され、動作しています(レポがテーブルの作成を容易にしました)。しかし、ありがとう。 – Mike

答えて