2017-09-09 5 views
0

C# 및 Entity Framework 마이그레이션을 사용하여 SQL Server 데이터베이스에서 계산 된 문자열 열을 만들려고합니다. 여기에 모델 클래스 내 코드입니다 : 내가 다시 데이터베이스에서 얻을 모든없이 계산 열 사양 FullName라는 필드를 입력 nvarchar(Max)이다C# Entity Framework 마이그레이션에서 계산 된 문자열 열 만들기

[DatabaseGenerated(DatabaseGeneratedOption.Computed)] 
public string FullName 
{ 
    get { return FirstName + " " + Surname; } 
    private set { } 
} 

는,이 널 (null)

+0

EF 마이그레이션이 C# 코드를보고 SQL 식으로 변환한다고 생각하지 않습니다. 이 SQL Server 열을 ** 계산 된 ** 열로 만들기 위해 생성 마이 그 레이션을 수동으로 조정해야한다고 생각합니다. –

답변

1

먼저, 속성을 대체 할 수 있습니다 이 같은 정의 :

[DatabaseGenerated(DatabaseGeneratedOption.Computed)] 
public string FullName { get; set; } 

그런 다음 마이그레이션을 만들고 수동으로 Up() 방법의 몸으로이 추가

,
Sql("ALTER TABLE [TableName] ADD [FullName] AS ([FirstName] + ' ' + [SurName])");