c# - 如何使用 fluent nhibernate 创建引用表

标签 c# nhibernate collections fluent-nhibernate

我如何从以下模型类创建 3 表架构。

public class Product
{
  public int Id {get; set;}
  public string Name {get; set;}
  public IList<Photo> Photos {get; set;}
}

public class Photo
{
  public int Id {get; set;}
  public string Path {get; set;}
}

我想在数据库中创建如下表结构:

Product
-------
Id
Name

ProductPhotos
-------------
ProductId (FK Products.Id)
PhotoId (FK Photos.Id)

Photos
------
Id
Path

我如何使用 Fluent NHibernate 表达上述数据库架构?我只能管理以下映射,但这并不能使我获得第三张照片引用表。

public class ProductMap : ClassMap<Product>
    {
        public ProductMap()
        {  
            Id(x => x.Id);
            Map(x => x.Name);            
            Table("Products");
            HasMany(x => x.Photos).Table("ProductPhotos").KeyColumn("ProductId");
        }
    }

最佳答案

您还必须为照片实体创建一个类映射。

关于c# - 如何使用 fluent nhibernate 创建引用表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2887344/

相关文章:

c# - 在自定义类型上使用集合初始化语法?

WPF - 可以将 List<T> 用作依赖项属性

c# - 使用 linq to txt 解析行

c# - 将 get;set 字符串 DateEntered 从 yyyy-MM-dd 转换为 C# 中的 MM-dd-yyyy?

c# - EF - SqlQuery - 数据读取器中没有相应的同名列

c# - 在 NHibernate 中规范化 EnumStringType

c# - 当配置中存在配置行时,Nhibernate.Util 导致 ProxyFactoryFactoryNotConfiguredException

java - 什么是允许 Collections.sort 的线程安全 List 实现

c# - System.Linq 和 System.Data.Linq 有什么区别?

sql - 如何指定不会被转换为 SQL 命令查询参数的常量值 NHibernate 标准