Я пытаюсь сделать самые простые сопоставления с FluentNHibernate & Sql2005. По сути, у меня есть таблица базы данных под названием "sv_Categories". Я хотел бы добавить категорию, автоматически установив идентификатор и добавив ID пользователя и заголовок.
Макет таблицы базы данных:
- CategoryID - int - не нулевой, первичный ключ, автоинкремент
- UserID - уникальный идентификатор - не нуль
- Заголовок - varchar (50) - не ноль
Simple.
My SessionFactory code (which works, as far as I can tell):
_SessionFactory = Fluently.Configure().Database(
MsSqlConfiguration.MsSql2005
.ConnectionString(c => c.FromConnectionStringWithKey("SVTest")))
.Mappings(x => x.FluentMappings.AddFromAssemblyOf<CategoryMap>())
.BuildSessionFactory();
Мой код ClassMap:
public class CategoryMap : ClassMap<Category>
{
public CategoryMap()
{
Id(x => x.ID).Column("CategoryID").Unique();
Map(x => x.Title).Column("Title").Not.Nullable();
Map(x => x.UserID).Column("UserID").Not.Nullable();
}
}
Код моего класса:
public class Category
{
public virtual int ID { get; private set; }
public virtual string Title { get; set; }
public virtual Guid UserID { get; set; }
public Category()
{
// do nothing
}
}
И страница, на которой я сохраняю объект:
public void Add(Category catToAdd)
{
using (ISession session = SessionProvider.GetSession())
{
using (ITransaction Transaction = session.BeginTransaction())
{
session.Save(catToAdd);
Transaction.Commit();
}
}
}
получаю ошибку
Неверное имя объекта «Категория».
Описание: необработанное исключение
произошло во время исполнения
текущий веб-запрос. Пожалуйста, просмотрите
трассировка стека для получения дополнительной информации о
ошибка и откуда она возникла
код.
Сведения об исключении:
System.Data.SqlClient.SqlException:
Неверное имя объекта «Категория».
Я думаю, возможно, я не велел классу CategoryMap использовать таблицу "sv_Categories", но я не уверен, как это сделать.
Любая помощь будет оценена. Спасибо!