gpt4 book ai didi

nhibernate - 流畅的 NHibernate 映射问题

转载 作者:行者123 更新时间:2023-12-01 04:22:10 25 4
gpt4 key购买 nike

我正在尝试使用 Fluent Nhibernate 映射几个表。我的测试给了我以下错误:
NHibernate.Exceptions.GenericADOException:无法初始化集合:[FluentWeb.Domain.Employees.Orders#1]

我正在尝试映射员工和订单之间的一对多关系。然后,订单与产品 (NorthWind) 之间存在多对多关系。这是我的映射.. 谁能帮我一把。所有人都在与 HBM 合作

public class EmployeeMap : ClassMap<Employees>
{

public EmployeeMap()
{
Id(x => x.EmployeeID);
Map(x => x.FirstName);
Map(x => x.LastName);
Map(x => x.City);
Map(x => x.HireDate);
Map(x => x.Title);
HasMany(x => x.Orders)
.AsBag().WithForeignKeyConstraintName("EmployeeID")
.Inverse()
.Cascade.All();


}
}

public class OrdersMap : ClassMap<Orders>
{
public OrdersMap()
{
Id(x => x.OrderID);
Map(x => x.OrderDate);
Map(x => x.RequiredDate);
Map(x => x.ShippedDate);
References(x => x.Employee);
HasManyToMany(x => x.Products)
.Cascade.All()
.WithTableName("Order Details");

}
}

public class ProductsMap : ClassMap<Products>
{
public ProductsMap()
{
Id(x => x.ProductID);
Map(x => x.ProductName);
Map(x => x.UnitPrice);
HasManyToMany(x => x.Orders)
.Cascade.All()
.Inverse()
.WithTableName("Order Details");


}
}

如果需要更多信息,请告诉我。谢谢您的帮助!

-缺口

最佳答案

表名中的空格通常是一个非常糟糕的主意。如果您不能删除它们,请尝试将表名括在反引号中,这是 NHibernate 的数据库不可知转义机制。

.WithTableName("`Order Details`');

关于nhibernate - 流畅的 NHibernate 映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/846311/

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