c# – 流畅的nHibernate – 映射一个字符串列表

前端之家收集整理的这篇文章主要介绍了c# – 流畅的nHibernate – 映射一个字符串列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个这样的模型(简化)
public class Post
{
    public string ID { get; set; }    
    public string Title { get; set; }
    public string Body { get; set; }
    public string AuthorName { get; set; }

    public List<string> Attachments { get; set; }
}

在我的数据库中,我有一个Post表和一个PostAttachment表

帖子附件表有2列:

帖子ID
AttachmentKey

(这些的基础是将附件上传到amazon s3,所以AttachmentKey是s3键)

我想做的是将AttachmentKey映射到返回/插入的Post对象的列表…

我该怎么做呢?

解决方法

您可能需要一个围绕字符串的类型,如果只能生成一个表名.像List这样的东西在您的应用程序中可能更有意义.我确定你可以深入挖掘并直接映射到字符串,如果你需要.

从那里,您可以从HasMany映射和指向您的表格的外键开始,即

HasMany (o => o.PostAttachments).ForeignKeyConstraintName ("FK_Attachment_Post");

我认为默认情况下,这将在表中查找一个post_ID列(不需要在附件对象上显示),我确定如果需要,还有一个方法.

您也可能需要在映射中使用.Inverse(),具体取决于您希望保存帖子附件的方式.

编辑:看完diego的帖子后,我认为上述可能只是工作,如果PostAttachments是字符串列表.我以前流畅的使用了他发布的方法,我很确定HasMany默认映射到一个nhibernate包.您可能需要在映射中指定列名称以使用现有的表.

猜你在找的C#相关文章