2013-04-17 4 views
0

자, 여기 내 문제를 설명하는 최선의 방법입니다.엔티티 프레임 워크 InvalidOperationException

내 데이터 컨텍스트의 인스턴스를 통해 엔터티 프레임 워크를 사용하여 LINQ를 사용하여 "Marketing"이라는 내 모델 내의 엔터티 인스턴스를 가져옵니다. 이 엔티티는 아래 이미지와 같이 다른 엔티티와 관계가 있습니다. "HospitalistSurvey"에 대한 확장 된 관계에는 오류가 있습니다. 나중에, 나는 속성의 값을 설정하려고 시도합니다. (즉, marketing.HospitalistSurvey. [HospitalistSurveyProperty]) 그 당시에는 "null 값을 nullable이 아닌 System.Int32 유형의 멤버에 할당 할 수 없습니다. 가치 유형. "

Debugger Code

나는이 문제를 조사를 시작하기 위해 무엇을해야합니까?

+0

당신이 당신에게 예외를 throw하는 코드를 보여 주시겠습니까 :

public class MyEntity { [Key] public int Id { get; set; } public int? Value { get; set; } // this is now nullable } 

다른 데이터베이스를 변경하는 것입니다 :

하나의 솔루션 모델을 변경하는 것입니다? – IronMan84

답변

1

나는 당신이 여기에있는 것은 다음과 같은 상황이라고 생각 :

엔티티 모델

public class MyEntity 
{ 
    [Key] 
    public int Id { get; set; } 

    public int Value { get; set; } // note that this is non nullable 
} 

MyEntities이이 때까지 EF는이 설정을 처리 할

CREATE TABLE [dbo].[MyEntities](
    [Id] [int] IDENTITY(1,1) NOT NULL, 
    [Value] [int] NULL, 
) 

데이터베이스 모델 행 Value IS NULL 어디에있는 경우 그것은 exce 던졌습니다. null 값을 null이 아닌 유형에 넣으려고하기 때문에 표시되는 값입니다.

CREATE TABLE [dbo].[MyEntities](
    [Id] [int] IDENTITY(1,1) NOT NULL, 
    [Value] [int] NOT NULL, 
)