我在一个类上有一个字符串属性,我想将该属性映射到另一列的子字符串。
可以说这是我的课:
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")
不幸的是,在查询中使用子字符串会导致:
无法在条件上使用子查询
没有投影。
最佳答案
我成功获得了类似这样的解决方案
public override(AutoMapping<MyClass> mapping)
{
mapping.Map(x=>x.PartNumberPortion).Formula("SUBSTRING(PartNumber, 4, 20)");
}
关于c# - 如何使用Fluent Nhibernate映射替代将子字符串映射到属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5411490/