我在一个类上有一个字符串属性,我想将该属性映射到另一列的子字符串。

可以说这是我的课:

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/

10-08 22:07