2011-03-23 60 views
2

我有一个类的字符串属性,我想将其映射到另一列的子字符串。如何将子字符串映射到具有Fluent Nhibernate映射覆盖的属性?

比方说这是我的课:

public class MyClass 
{ 
    public virtual string PartNumber { get; set; } 

    public virtual string PartNumberPortion { get; set; } 
} 

这是我MappingOverride:

public void Override(AutoMapping<MyClass> mapping) 
{ 
    mapping.Map(x => x.PartNumberPortion, "PartNumber").Formula("SUBSTRING(4,20, PartNumber)"); 
} 

的.Formula()件不起作用像我所希望的。是否可以将字段映射到另一个字段的子字符串?

仅供参考,我不需要这样做,如果我可以运行此查询:

PartNumber.Substring(3).Contains("12345") 

不幸的是,其在一个查询结果的子字符串:

不能使用在子查询没有投影的标准 。

回答

3

我顺利地拿到了这样的事情在我的解决方案的工作

public override(AutoMapping<MyClass> mapping) 
{ 
    mapping.Map(x=>x.PartNumberPortion).Formula("SUBSTRING(PartNumber, 4, 20)"); 
} 
相关问题