2013-05-01 2 views
2

어떤 이유에서든 모든 항목에 값 (NOT NULL)이 있어야하는 데이터베이스 테이블을 사용해야합니다. 모든 항목이 사용자와 관련이있는 것은 아니며 웹 양식을 통해 항목을 입력 할 때 항목을 비워 둡니다. Entity Framework를 사용하여 FormView 데이터 바인딩을 사용하고 있습니다.데이터베이스에서 빈 문자열을 null로 저장하려고하는 Entity Framework

내가 겪고있는 문제는 텍스트가없는 TextBoxes에 빈 문자열을 입력하는 대신 NULL 값을 사용하려고한다는 것입니다. 데이터베이스 제약 조건을 완화하기 위해 빈 문자열을 입력하는 방법이 있습니까?

데이터베이스에서 null을 허용하도록 변경할 수 있으면 좋겠지 만, 불행히도 액세스 권한이 없습니다.

<asp:TextBox ID="CustIdTextBox" runat="server" Text='<%# Bind("CustId") %>' /> 

엔티티 프레임 워크는 빈 문자열을 복용하고 NULL로 데이터베이스에 저장 결정하는 것 같습니다 :

다음은 영문에서 미리보기입니다.

+0

코드를 보여줄 수 있습니까? – yoozer8

+0

그건 aspx 파일에서 나온 것입니다. 특히 당신이보고 싶어하는 것은 무엇입니까? –

+2

http://stackoverflow.com/questions/6548304/ria-ef4-entity-property-mapped-to-not-null-nvarchar-empty-string – Uzzy

답변

1

우리는 definitly 일부 코드가 필요하지만 textbox.text 속성이 초기화되지 않은 것 같아요, 그래서 당신에게 NULL을 줄거야. 그냥 빈 문자열로 초기화하거나 DB를 업데이트하기 전에 null을 string.empty로 대체하십시오.

+0

코드를보고 CustId 필드가 string으로 초기화되었는지 확인하십시오. empty, otherwize는 기본적으로 NULL이 될 것입니다. – Jeff

+0

의미가 있습니다. 이것이 어떻게 작동하는지는 이상합니다. NULL이 아닌 빈 문자열이 할당된다고 생각할 것입니다. –

+0

사실, 문자열 str을 수행하면 안됩니다. str는 null이됩니다. 문자열은 객체이므로 먼저 인스턴스화해야합니다. – Jeff

관련 문제