1

我有两节课

Public class Foo 
{ 
   int Id {get;set;}
   Email DefaultEmail {get;set;} 
}

Public class Email 
{ 
   string main {get;set;} 
   string backup {get;set;}
   string recover {get;set;}
}

 Public string GetEmail(EnType)
 {
      switch(EnType)
      {
            Case EnType.Type1:
                return this.main;

            // others condition....
      }
 }

我使用组件映射将 Foo 映射到电子邮件。每次只需要一封电子邮件。

当我选择

Session.Query.select(x => x.email.getEmail(EnType.Type1))

生成的 SQL 是

select emailType1, emailType2,.... From Foo

而我只期望

select emailType1 From Foo
4

1 回答 1

0

GetEmail() 在位于 Email 类中的代码中实现。你认为 nhibernate 应该如何知道代码应该做什么?

它只是获取整个电子邮件类(组件),然后让它决定返回什么。

于 2012-08-14T08:27:24.347 回答