Я новичок в nhibernet и пытался создать тест-программу.Поэтому я создал сущности и файлы сопоставления для Fluent NHibernate, как описано здесь: https://github.com/FluentNHibernate/fluent-nhibernate/wiki/Getting-started
Сущность:
namespace NHibernateDemoApp
{
public class Employee
{
public virtual int Id { get; protected set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
}
}
Карта:
class EmployeeMap : ClassMap<Employee>
{
public EmployeeMap()
{
Id(x => x.Id);
Map(x => x.FirstName);
Map(x => x.LastName);
}
}
Затем я использовал их какэто:
private static ISessionFactory CreateFluidSessionFactory()
{
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2012.ConnectionString("Data Source=mydatabase;Initial Catalog=mydatabase;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False")
)
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<Program>())
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
}
private static void BuildSchema(Configuration config)
{
new SchemaExport(config)
.Create(false, true);
}
Все выглядит хорошо, но NHibernet создал таблицу с моим именем пользователя в качестве префикса.Итак, создание таблицы выглядит следующим образом:
CREATE TABLE [MyDomain\MyUsername].[Employee](
[Id] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [nvarchar](255) NULL,
[LastName] [nvarchar](255) NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
, но оно должно быть создано следующим образом:
CREATE TABLE [MyDatabase].[Employee](
[Id] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [nvarchar](255) NULL,
[LastName] [nvarchar](255) NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Когда я запускаю свою тестовую программу как другой пользователь, таблица создается дважды (по одному на каждого пользователя).
Что я делаю не так?Как сказать hibernet, что в таблице не должно быть имени пользователя.