2010-05-16 78 views
1

我正在嘗試做最簡單的映射與FluentNHibernate & Sql2005。基本上,我有一個名爲「sv_Categories」的數據庫表。我想添加一個類別,自動設置ID,並添加提供的用戶標識和標題。FluentNHibernate錯誤 - 「無效的對象名稱」

數據庫表的佈局:

  • 類別ID - INT - 不空,主鍵,自動遞增
  • 用戶名 - 唯一標識符 - 不爲空
  • 標題 - VARCHAR(50 ) - 非空

簡單。

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(); 

我的類映射代碼:

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(); 
      } 
     } 
    } 

我收到錯誤

無效的對象名稱'Category'。 描述:在執行 當前Web請求期間發生未處理的異常 。請查看 堆棧跟蹤以瞭解有關 錯誤的更多信息,以及它源自 的代碼。

異常詳細信息: System.Data.SqlClient.SqlException: 無效的對象名稱'Category'。

我想這可能是我沒有告訴CategoryMap類使用「sv_Categories」表,但我不知道該怎麼做。

任何幫助,將不勝感激。謝謝!

回答

5

在您的ClassMap中使用Table方法。

public class CategoryMap : ClassMap<Category> 
{ 
    public CategoryMap() 
    { 
    Table("sv_Categories"); 
    } 
} 
+0

這樣做!非常感謝! :) – SeanKilleen 2010-05-16 15:48:59

相關問題