의 "VARCHAR"의 SQL 유형으로 그러나설정 문자열 대신 나는 다음과 같은 매핑 한 "NVARCHAR"
public class LogEntryMap
{
public LogEntryMap()
{
Map.Id(x => x.Id).GeneratedBy.Identity();
Map(x => x.Context).CustomSqlType("varchar").Length(512);
}
}
, SQL Server 2008의 데이터베이스를 생성하는 SchemaExport
를 사용하여 스크립트를 생성 길이를 무시 그래서 효과는 (1)의 길이가되는 varchar
끝낸다 :
create table OV_SAC.dbo.[LogEntry] (
Id BIGINT IDENTITY NOT NULL,
Context varchar null,
primary key (Id)
)
.CustomSqlType("varchar 512")
예외를 던진다. 그리고 CustomSqlType
을 정의하지 않으면 문자열이 nvarchar
(Length
속성을 참조)으로 매핑됩니다.
제안 사항?
위대한 !! 이제 모든 속성을 varchar로 지정하려면 어떻게해야합니까? 규칙에 따라 덮어 쓰지 않고 매핑의 해당 엔터티에 대한 CustomType을 재정의 할 수 있습니까? –
@GerardoGrignoli : 가능합니다. 협약은 기본값 만 설정합니다. ansi-string 규칙을 사용하고 특정 열 매핑을 '.CustomType'으로 설정하면 예상대로 작동합니다. –
quetzalcoatl