Sea*_*een 1 asp.net nhibernate sql-server-2005 fluent-nhibernate
我正在尝试使用FluentNHibernate和Sql2005进行最简单的映射.基本上,我有一个名为"sv_Categories"的数据库表.我想添加一个类别,自动设置ID,并添加提供的用户ID和标题.
数据库表格布局:
简单.
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();
Run Code Online (Sandbox Code Playgroud)
我的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();
}
}
Run Code Online (Sandbox Code Playgroud)
我的班级代码:
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
}
}
Run Code Online (Sandbox Code Playgroud)
以及我保存对象的页面:
public void Add(Category catToAdd)
{
using (ISession session = SessionProvider.GetSession())
{
using (ITransaction Transaction = session.BeginTransaction())
{
session.Save(catToAdd);
Transaction.Commit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误
无效的对象名称"类别".描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.Data.SqlClient.SqlException:无效的对象名称"类别".
我想可能是我没有告诉CategoryMap类使用"sv_Categories"表,但我不知道该怎么做.
任何帮助,将不胜感激.谢谢!
使用Table你的方法ClassMap.
public class CategoryMap : ClassMap<Category>
{
public CategoryMap()
{
Table("sv_Categories");
}
}
Run Code Online (Sandbox Code Playgroud)