2011-11-12 11 views
0

私は以前からnhibernateマッピングを使用して自動マッピングするのが初めてです。オブジェクトリフレクションがインスタンスに設定されていないため、Nhibernateの自動マッピングでエラーが発生する

public class PrimarykeyConvention : IIdConvention 
{ 
    public void Apply(IIdentityInstance target) 
    { 
     target.Column(target.EntityType.Name + "Id"); 
     target.GeneratedBy.Assigned(); 
    } 
} 

そして、この私のEmployeeLogin:これはこれはEmployee_Login表

public class EmployeeLoginMap : IAutoMappingOverride<EmployeeLogin> 
{ 
    public void Override(AutoMapping<EmployeeLogin> mapping) 
    { 
     mapping.Table("employee_login"); 
     mapping.Id(x => x.EmpId, "EmpId"); 
    } 
} 

これは、自動マッピングのために主キー条約でのマッピングのための私のEmployeeLoginMapクラスで私のセッションファクトリ

return Fluently.Configure() 
        .Database(
         MsSqlConfiguration.MsSql2008.ConnectionString(
          ConfigurationManager.ConnectionStrings["Royal"].ConnectionString)) 
        .Mappings(m => 
           m.AutoMappings 
            .Add(AutoMap.AssemblyOf<EmployeeLogin>().UseOverridesFromAssemblyOf 
              <EmployeeLoginMap>() 
              .Conventions.Setup(x => x.Add<PrimarykeyConvention>(new PrimarykeyConvention())) 
            )) 
        .BuildSessionFactory(); 

ですドメイン

public class EmployeeLogin 
{ 
    public String EmpId { get; set; } 
    public String Type { get; set; } 
    public String Name { get; set; } 
    public String Password { get; set; } 
    public String Dob { get; set; } 
    public String Phone { get; set; } 
    public String Email { get; set; } 
    public String BranchCode { get; set; } 
    public String EntryPerm { get; set; } 
    public String LastModified { get; set; } 
    public String ModifiedBy { get; set; } 
} 

問題は、これを使用してアクセスしようとするときです。isession = GetSession();

たとえば、sessionfactoryメソッドを呼び出します。セッションファクトリーiteselfを生成するための流暢なマッピングでエラーが発生します。

オブジェクト参照がオブジェクトのインスタンスに設定されていません。

+1

完全なStacktraceが多大な助けになりましたが、私の推測では、connectionstring "Royal"はappconfigにはありません。 – Firo

+0

はい、私は推測した問題でした。それは本当であることが判明した...あなたのコメントのための+1のおかげで – Joy

答えて

0

私の推測では、接続文字列 "royal"がappconfigにありません。

関連する問題