2016-09-19 1 views
0

이 같은 마이그레이션 클래스의 방법 사용 방법은 단지 삽입 T-SQL을 생성마이그레이션 : DbSet <T> .AddOrUpdate 문제

DbSet<T>.AddOrUpdate(new Instance(){}); 

을, 그리고에 존재하는 행을 가지고 있기 때문에 나는 한 가지 예외를받을 표.

이 같은 마이그레이션 클래스에서 slibing 방법 :

DbSet<T>.AddOrUpdate(p=>p.name,new Instance(){}): 

나는 (테이블이 하나가 인덱스 (열 1, 열 2)에 가입했다) 내 방식이 변환 할 수 없습니다. 지금

내 질문은 : 방법을 사용하는 방법

public static void AddOrUpdate<TEntity>(
    this IDbSet<TEntity> set, 
    Expression<Func<TEntity, Object>> identifierExpression, 
    params TEntity[] entities 
)where TEntity : class 

나는 테이블의 견인 열을 정의해야한다 identifierExpression 매개 변수가 추가 또는 업데이트 작업이

답변

1

이를 사용하여 수행해야하는지 여부를 결정하기 위해 명령문은 컬럼을 인덱스 할 수 없기 때문에 문제점에서 해결됩니다.

DbSet<T>.AddOrUpdate(new Instance(){}); 

대신이를 사용해야합니다

context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people); 
+0

감사합니다 !!!! 나는 지금 막 회사에 도착한다, 나는 이것을 아직 시도하지 않는다, 그러나 당신의 유행은 아주 창조적이다, 나는이 방법에 대하여 결코 생각하지 않았다, 나는 arrary, 명부 및 ect에 대하여 생각했다. 나는 최대한 빨리 당신의 패션을 시도 할 것입니다. 다시 감사합니다. –

+0

키스 해줘. –

+0

왜 다시 키스하지 않니? –