2014-05-20 3 views
5

마침내 우리는 처음부터 코드를 사용하기 시작할 수 있도록 사각을 완성했습니다.뚜렷한 테이블 이름없이 코드 첫 마이그레이션을 사용할 수 있습니까?

"사용 - 마이그레이션"을 실행하면 이름에 InitialCreate가있는 파일이 생성됩니다.
(예 : http://msdn.microsoft.com/en-us/data/jj591621.aspx#enabling)

이 파일에는 단수 대신 복수의 데이터베이스 테이블 이름이 있습니다.

modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 

하지만 모두 복수로 이름이 이주를 작성되는 파일 :

내가 올바른 내 initiazlizer에서이 줄을해야합니까.

마이그레이션을 추가 할 때 성가신 일이 생기면 DB에있는 복수 테이블을 모두 삭제하고 단수로 다시 추가하십시오.

매개 변수를 "마이그레이션 사용"명령이나 복수로 지정하지 않을 수 있습니까?

답변

3

이 동작은 수정되었으며, EF 6.1.0으로 재현 할 수 없습니다. 먼저 이니셜 라이저를 사용하여 데이터베이스를 만들었습니다. Enable-Migrations (물론 OnModelCreating()에는 이미 을 제거하는 행이 포함되어 있습니다)보다 실행했습니다. 생성 된 마이그레이션 (이름에 InitialCreate 포함)은 단수 이름의 테이블을 생성합니다. 따라서 EF를 업데이트 할 수 있다면 문제는 사라질 것입니다.

그렇지 않은 경우 : Table 속성을 사용하여 단수 형태로 테이블 이름을 덮어 쓰려고 했습니까? 적어도 생성 된 마이그레이션 코드는 그것을 존중합니다 (필자는 6.1.0보다는 오래된 EF 버전을 확인하지 않았습니다).

[Table("MyEntity")] 
public class MyEntity 
{ 
    // .. your properties go here. 
} 
+0

시도하기 전에 6.1로 업데이트하려고했지만 모든 프로젝트를 업데이트하지 않았을 수 있습니다. 다시 시도하고 보고서를 보겠습니다. – thepaulpage

+0

EF 6.1을 사용한다면 너무 효과가 있습니까? – andyp

+0

아직 시도 할 기회가 없었습니다. 우리는 지금 당장 이동했지만 어떤 시점에서 돌아올 것이고 다시 시도 할 때 다시 돌아올 것입니다. – thepaulpage