我想通過ASP.NET MVC正確地配置Fluent和NHibernate。據我所知它已正確配置,但當我訪問使用此設置的頁面時,我沒有收到任何數據結果。NHibernate的查詢沒有返回任何結果
我使用的模型被稱爲Brand
,數據庫表格是Brands
。
這裏是我的BrandController片段:
public ActionResult Index()
{
IRepository<Brand> repo = new BrandRepository();
var brands = repo.GetAll().ToList<Brand>();
return View(brands);
}
這裏是我的BrandRepository片段:
ICollection<Brand> IRepository<Brand>.GetAll()
{
using (ISession session = NHibernateHelper.OpenSession())
{
var brands = session
.CreateCriteria(typeof(Brand))
.List<Brand>();
return brands;
}
}
這裏是我的NHibernateHelper:
public class NHibernateHelper
{
private static ISessionFactory _sessionFactory;
private static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
{
_sessionFactory = Fluently.Configure()
.Database(
MsSqlConfiguration.MsSql2008
.ConnectionString(c => c
.FromConnectionStringWithKey("ShoesFullAccess")
)
)
.BuildSessionFactory();
}
return _sessionFactory;
}
}
public static ISession OpenSession()
{
return SessionFactory.OpenSession();
}
}
這裏是我的品牌型號:
public class Brand
{
public int Id { get; private set; }
public virtual string Name { get; set; }
public virtual IList<Style> Styles { get; private set; }
public Brand()
{
Styles = new List<Style>();
}
public virtual void AddStyle(Style style)
{
Styles.Add(style);
}
}
最後,這裏是我的BrandMap:
public class BrandMap : ClassMap<Brand>
{
public BrandMap()
{
Id(x => x.Id);
Map(x => x.Name);
HasMany(x => x.Styles)
.Inverse()
.Cascade.All();
}
}
如果任何人都可以點我在正確的方向我怎麼能縮小的問題,我會非常感謝!
只是可以肯定它到底是指向哪個表指定,存在數據庫,表,數據對? – Rahul 2010-09-01 05:06:23
是的。這是我檢查的第一件事 – 2010-09-01 05:13:20