2012-05-08 2 views
0

프로젝트에서 엔티티 코드 우선을 사용하고 있으며 테이블에 모델 이름과 다른 이름을 지정하려고합니다. 엔티티 - 엔티티 코드 첫 번째 테이블 이름에서 ".dbo"제거

나는 모델 클래스의 DataAnnotation Table를 사용하려고 :

[Table("tbBudget")] 
public class Budget : IValidatableObject 
{ 
... 

그러나 만든 테이블은 dbo.tbBudget 지정됩니다. 질문은 간단합니다 : 엔터티의 테이블 이름에서 dbo.을 어떻게 제거합니까?

답변

3

데이터베이스의 테이블은 항상 스키마에 속합니다. 당신은 스키마를 제거 할 수 없습니다,하지만 당신은

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     base.OnModelCreating(modelBuilder); 

     modelBuilder.Entity<Budget>().ToTable("test", "mySchema"); 
    } 

또는 당신의 예에서와 같이, 당신은 TableAttribute

+2

사용할 수 있습니다 DbContext에 능통 구성으로 오버 라이딩 방법을 변경할 수 있습니다 그리고 당신은 또한 표 속성에서 지정할 수 있습니다 http://msdn.microsoft.com/en-us/library/system.data.linq.mapping.tableattribute.aspx. 제발, 당신의 대답을 편집하십시오. – JotaBe

4

dbo.은 실제 테이블 이름의 일부가 아니고 스키마 이름을 나타냅니다.

관련 문제