Как сопоставить подстроку со свойством с помощью переопределения Fluent Nhibernate? - PullRequest
2 голосов
/ 23 марта 2011

У меня есть строковое свойство в классе, которое я хотел бы сопоставить с подстрокой другого столбца.

Допустим, это мой класс:

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")

К сожалению, имеяПодстрока в запросе приводит к:

Невозможно использовать подзапросы по критериям без проекции.

1 Ответ

3 голосов
/ 24 марта 2011

Я успешно получил что-то подобное, чтобы работать в моем решении

public override(AutoMapping<MyClass> mapping) 
{
    mapping.Map(x=>x.PartNumberPortion).Formula("SUBSTRING(PartNumber, 4, 20)");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...