作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Fluent NHibernate 和 C#.NET 的新手,正在努力解决这个问题。
我有两个表:
审核 :
audit_seq(主键),
user_code(外键),
审计日期
用户名 :
user_code(主键),
用户名
审计表包含具有用户外键字段 (user_code) 的审计记录。 问题是一些用户记录已被删除,但这些用户的审计记录仍然存在(所以我在审计表中孤立了外键)。我想要的是带有 audit_seq、audit_date 和 user_name 的结果集(但如果是孤立的 user_name 应该为空)。
我正在使用以下映射,但相信我需要更改 UserName 引用以创建外部联接。我不知道该怎么做。
public class AuditMap : ClassMap<Audit>
{
public AuditMap()
{
Id(x => x.AuditSeq).Column("audit_seq").GeneratedBy.Assigned();
Map(x => x.AuditDate).Column("audit_date");
References(x => x.UserName).Column("user_code");
}
}
最佳答案
表username
应该映射到一个实体(类 UserName
?我将使用 User
来区分它的属性 UserName
)。然后它可以在审计中用作引用。在 C# 中
public class Audit
{
...
public virtual User User { get; set; }
public virtual string UserName
{
get { return User != null ? User.UserName : string.Empty ;}
}
}
User
映射
public class UserMap : ClassMap<User>
{
public UserMap()
{
Id(x => x.UserCode).Column("user_code").GeneratedBy.Assigned();
Map(x => x.UserName).Column("user_name");
...
}
}
Audit
这样映射:
public class AuditMap : ClassMap<Audit>
{
public AuditMap()
{
Id(x => x.AuditSeq).Column("audit_seq").GeneratedBy.Assigned();
Map(x => x.AuditDate).Column("audit_date");
References(x => x.User).Column("user_code")
.NotFound.Ignore();
}
}
Audit
引用
User
.它会忽略一些引用的用户丢失的事实(
.NotFound.Ignore()
)。如果有的话,我们的
UserName
属性将返回其名称。
关于nhibernate - 流利的 NHibernate 映射父/子表与孤立的子记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13704723/
如果数据很大,我正在使用 orphan 属性在打印时添加分页符它在 chrome 和 IE 中工作但在 FireFox 中不支持. docprint.document.write('
如果我从“Default.aspx”等进行 AJAX PageMethod 或 WebMethod 调用,然后在初始 PageMethod 返回之前快速导航到另一个页面(例如“Settings.asp
我是一名优秀的程序员,十分优秀!