gpt4 book ai didi

c# - 流利的 nHibernate 不返回数据

转载 作者:行者123 更新时间:2023-11-30 20:53:55 24 4
gpt4 key购买 nike

我有一个我正在使用的小型 POC 应用程序,它使用 nHibernate。这是我第一次自己设置 nHibernate,但我以前用过它。出于某种原因,我的查询没有返回任何数据。我可以确认我的数据库中有一个 Product

public class NHibernateHelper
{
private static String _connectionString =
@"Server=localhost\SQLEXPRESS;Database=TestProject;User ID=TestProjectMvc;Password=Pa$$word";

private static ISessionFactory _sessionFactory;

private static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
InitializeSessionFactory();

return _sessionFactory;
}
}

private static void InitializeSessionFactory()
{
_sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(_connectionString).ShowSql()
).Mappings(m => m.FluentMappings.AddFromAssemblyOf<Product>())
//.ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))
.BuildSessionFactory();
}

public static ISession OpenSession()
{
return SessionFactory.OpenSession();
}
}

我的映射类:

 public class ProductMap : ClassMap<Product>
{
public ProductMap()
{
Id(x => x.Id);
Map(x => x.Name);
References(x => x.Category).Column("CategoryId");
}
}

以及我用来检索数据的方法:

    public IEnumerable<Product> GetAllProducts()
{
using (var session = NHibernateHelper.OpenSession())
{
var list = session.QueryOver<Product>().List();
return list;
}
}

最佳答案

从另一种类型的程序集添加映射的非常有用的方法总是会绊倒其他人。

对于其他想知道的人...问题是这样的:

.AddFromAssemblyOf<Product>()

ProductProductMap 在不同的程序集中。因此无法在 Product 所在的程序集中找到映射。

我已经看到很多人开始了这次旅行!

关于c# - 流利的 nHibernate 不返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19577611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com