Я довольно новичок в автоматическом прохождении через ранее использовавшееся отображение nhibernate.Это моя фабрика сессий
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();
Это мой класс EmployeeLoginMap для отображения таблицы Employee_Login
public class EmployeeLoginMap : IAutoMappingOverride<EmployeeLogin>
{
public void Override(AutoMapping<EmployeeLogin> mapping)
{
mapping.Table("employee_login");
mapping.Id(x => x.EmpId, "EmpId");
}
}
Это соглашение о первичных ключах для автоматического сопоставления:
public class PrimarykeyConvention : IIdConvention
{
public void Apply(IIdentityInstance target)
{
target.Column(target.EntityType.Name + "Id");
target.GeneratedBy.Assigned();
}
}
И это мой домен EmployeeLogin
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();
Он вызывает метод фабрики сеанса, например.и там он получает ошибку в быстром отображении для генерации сеансового фактора ите, поскольку
Ссылка на объект не установлена на экземпляр объекта.