我以前使用过 L2S,现在正在考虑在一个项目中使用 NHib 和 Sharp 架构。我已经开始制作原型并遇到了我不知道如何用谷歌搜索的第一个问题。
给定一个具有一些简单属性和一个参考属性的 POCO(类别 - 此处未显示的类):
public class Post
{
public Post()
{
this.DateCreated = DateTime.Now;
}
public virtual string Title {get;set;}
public virtual DateCreated {get;set;}
public virtual Category {get;set;}
}
如果我想说以表格格式生成帖子摘要,这很方便 - 如果我想要一个名为“类别”的列并且我想显示类别标题,我可以简单地使用 Post.Category.Title。
然而,用户创建了一个新帖子(他们从下拉列表或类似列表中选择一个类别)。他们点击提交,我新建了一个 Post 对象。但是,在我可以保留新帖子之前,我必须检索类别的一个实例(按 id)以分配给类别属性?
如何两全其美?如果我更新 Post POCO,使 Category 成为 int,我可以更简单地创建新实例。但是对于一些现在必须解析给定 Id 的类别名称的渲染代码来说更难?
我觉得我在这里缺少一些基本概念?
我知道使用 Linq to Sql 给定一个架构,其中 Post 表有一个名为 CategoryId 的整数外键列,会生成基础表列 (CategoryId) 和包含外键行的 EntitySet。
如何在 NHibernate 中实现类似的功能?这一般是如何管理的?
谢谢