표현 트리를 선언 할 수 있습니다.일반 코드의 표현 트리
그러나 메서드 나 속성 getter와 같은 코드의 일반 청크에 대해 표현식 트리를 가져올 수 있습니까?
은 내가,의는 주문 처리 시스템에 대한 말을 할 수있다 할 노력하고있어, 나는 주문 항목에 대한 클래스가 있습니다
class Item : Entity
{
[Cascade]
public Document document { get; set; }
public int line { get; set; }
public Product product { get; set; }
public string description { get; set; }
public decimal qty { get; set; }
public decimal price { get; set; }
public decimal net
{
get
{
return qty * price;
}
}
public VatCode vat_code { get; set; }
}
순 값이 수량 * 가격과 동일, 그래서 내가 좋아하는 것 프로퍼티 또는 메소드와 함께 선언하고 프레임 워크가 해당 표현식을 인트로 스페어 화하여 해당 데이터베이스 뷰에서 해당 계산 된 열을 정의하기위한 적절한 SQL을 생성 할 수 있습니다.
이 작업을 수행하는 가장 확실한 방법은 속성 가져 오기 도구 또는 메서드에 대한 식 트리를 가져 오는 것이지만이 작업을 수행하는 방법을 찾을 수 없거나 가능하다는 것을 알 수 없습니다. (메서드 본문을 바이트 스트림으로 가져 오는 방법을 찾았지만 여기서 원하는 것은 아닙니다.)
이것이 가능하지 않은 경우 권장되는 솔루션은 다음과 같은 정적 필드를 선언하는 것입니다. 표현식 트리이며, 내부적으로 사용하기 위해 런타임에 컴파일/실행하고, SQL 생성을 위해 일반적으로 인트로 스펙트를 수행합니까?