似乎以下场景应该并不少见,但我无法弄清楚如何在 FluenNHibernate 中处理它:
public class Product: BaseEntity
{
public Product()
{
Categories = new List<Category>();
}
public virtual IList<Category> Categories { get; set; }
...
}
public enum Categories
{
Classic = 1,
Modern = 2,
Trendy = 3,
...
}
Run Code Online (Sandbox Code Playgroud)
所以,我需要一个 ProductCategories 表,它允许我将一个产品映射到多个类别,但我认为 NHibernate 不会处理这个问题,除非我有一个实际的 Categories 类和一个指定了多对多关系的 Categories 表。这有很多原因是不可取的,其中最重要的是它太过分了。
我正在使用 AutoMapper - 我可以通过什么方式覆盖以使其工作?
谢谢!
小智 5
这个接受的答案对我有用,但是枚举被映射为 int。
为了将其映射为字符串(我的偏好),我按如下方式调整了映射:
public void Override(AutoMapping<Account> mapping)
{
mapping
.HasMany(x => x.Categories)
.Table("CategoriesProductsMap")
.Element("Category", e => e.Type<NHibernate.Type.EnumStringType<Category>>())
.AsSet();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1179 次 |
| 最近记录: |