다음을 통해 공유


계산된 속성 추가

이 단원에서는 계산된 속성을 LightSwitch 응용 프로그램의 데이터 엔터티에 추가하는 방법을 보여 줍니다.

계산된 속성 추가

대부분의 비즈니스 응용 프로그램에 대한 데이터는 데이터베이스 또는 다른 데이터 원본에 저장되어 있지만 사용자에게 추가 데이터를 제공 하려는 경우도 있습니다.한 가지 방법은 계산에 기반한 데이터를 제공하는 계산 속성을 사용하는 것입니다.화면에 데이터가 표시될 수 있지만 데이터베이스에 저장되지는 않습니다.

주문 총액은 품목별 소계, 세금 및 배송료를 더하는 코드를 작성한 계산 속성의 한 예입니다.

계산된 속성을 추가하려면

  1. 솔루션 탐색기에서 주문을 두 번 클릭합니다.

  2. 데이터 디자이너에서 **<속성 추가>**를 클릭하고 OrderTotal을 입력합니다.

  3. 형식 열에서 금액을 선택합니다.

    속성 창에서 IsComputed 속성이 선택되었습니다.

  4. 속성 창에서 메서드 편집 링크를 클릭합니다.

    코드 편집기가 열리고 OrderTotal_Compute 메서드가 표시됩니다.

  5. OrderTotal_Compute 메서드에 다음 코드를 추가합니다.

    For Each Order_Detail In Order_Details
        result = result + (Order_Detail.UnitPrice * Order_Detail.Quantity)
    Next
    result = result + Freight
    
    foreach (Order_Detail od in Order_Details) {
    
        result = result += (od.UnitPrice * od.Quantity);
    }
    result = result + Freight.Value;
    

    순서가 화면에 표시되면 이 코드는 주문 총합을 실행하고 계산합니다.

자세히 보기

이 단원에서는 값을 계산하기 위해 계산된 속성을 엔터티에 추가하는 방법에 대해 설명했습니다.Orders 엔터티에 OrderTotal 필드를 추가했을 때 필드에 필수라고 표시되는 것을 보았을 것입니다.또한 속성 창에서 IsComputed 옵션이 자동으로 선택됐습니다.연결된 데이터 소스의 엔터티에 대해 계산된 필드는 언제나 요구되며 계산됩니다.

코드 예제는 Order_Detail 엔터티를 순환 검색하는 For… Each 구문을 사용합니다.각 품목별 소계인 경우 이 코드는 UnitPrice 필드를 Quantity 필드와 곱하고 누적 총액을 결과 변수에 저장합니다.코드의 마지막 줄은 Freight 필드의 값을 누적 총합에 추가합니다.Freight 필드 값 유무를 확인하여 이 코드를 향상시킬 수 있습니다.현재 상태에서 Freight 필드가 비어 있으면 예외가 발생할 수 있습니다.

계산된 속성은 수학적 계산을 포함할 필요가 없습니다.계산된 속성을 사용하여 두 문자열을 연결할 수도 있습니다.예를 들어, 엔터티에 FirstName 필드와 LastName 필드가 있는 경우 두 이름을 함께 표시하는 FullName 필드를 만들 수 있습니다.이 경우 FullName_Compute 메서드에 대한 코드는 다음 예와 비슷합니다.

result = FirstName & " " & LastName
result = FirstName + " " + LastName

FirstName이 "Howard"이고 LastName이 "Snyder"인 경우 FullName이 "Howard Snyder"로 화면에 표시됩니다.

또한 다른 계산된 속성의 값을 사용하는 계산된 속성을 만들 수 있습니다.예를 들어, Orders 엔터티에 Tax 속성을 추가한 다음 계산된 OrderTotal 속성의 백분율을 기준으로 세금을 계산하는 코드를 작성할 수 있습니다.

계산된 속성은 또한 몇 가지 제한 사항을 가집니다.규칙은 쿼리에서 사용할 수 없으며 최종 사용자는 계산된 열을 정렬하거나 검색할 수 없습니다.

다음 단계

다음 단원에서는 데이터 엔터티 간의 관계를 만드는 방법에 대해 배웁니다.

다음 단원: 관계 정의

참고 항목

작업

방법: 계산된 필드 추가

기타 리소스

LightSwitch에서 데이터 작업(둘러보기)