2016-11-01 4 views
0

에서는 SQL 서버의 테이블은 데브 익스프레스 XAF 보고서 테이블 될 일이추상적이 아닌 기본 클래스로 EF 코드의 첫 번째 TPH를 사용할 수 있습니까?

CREATE TABLE [dbo].[ReportDataV2](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [DataTypeName] [nvarchar](max) NULL, 
    [IsInplaceReport] [bit] NOT NULL, 
    [PredefinedReportTypeName] [nvarchar](max) NULL, 
    [Content] [varbinary](max) NULL, 
    [DisplayName] [nvarchar](max) NULL, 
    [ParametersObjectTypeName] [nvarchar](max) NULL, 
CONSTRAINT [PK_dbo.ReportDataV2] PRIMARY KEY CLUSTERED 
(
    [ID] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 

에 의해 정의합니다. 내 데이터 컨텍스트에서

나는

public DbSet<ReportDataV2> ReportDataV2 { get; set; } 

내가 ReportDataV2 이미 내 코드에서 작동하는 방식을 방해하지 않고 판별 자 컬럼으로 DataTypeName 필드를 처리 할 수 ​​있도록하려는있다.

다음을 시도했지만 Entity Framework에서 데이터 구조가 변경되었음을 감지하고 마이그레이션을 생성하면 ReportDataV2 테이블을 다시 만들려고합니다.

public class OrderCountReport2Configuration : EntityTypeConfiguration<ReportDataV2> 
{ 
    public OrderCountReportConfiguration() 
     : base() 
    { 
     ToTable("ReportDataV2", "dbo"); 

     HasKey(tp => tp.ID); 

     Map<OrderCountReport>(m => m.Requires("DataTypeName").HasValue("OrderCountReport")); 

    } 
} 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Configurations.Add(new OrderCountReportConfiguration()); 
     base.OnModelCreating(modelBuilder); 
    } 
} 
+0

나는 내 문제는 내가 NVARCHAR (최대)는 판별으로하는 열을 사용하려는 것 같아요 크기 제한이 필요 기둥. 마이그레이션을 실행하면 생성 된 코드의 길이는 4000 –

+0

입니다. http://stackoverflow.com/questions/5053335/entity-framework-ctp5-code-first-how-do-i-specify-the-type- 구별 자 –

답변

0

판별 열 그냥 인덱스 컬럼과 같은 크기 제한이 있어야는