我的模型中有这样的设置:
[StringLength(250)]
public string Comment { get; set; }
将数据库中的最大长度设置为250,这很好。
然而,当数据库人员期望varchar(250)时,它被设置为nvarchar(250)。
谁能告诉我如何将它从模型设置为varchar而不是nvarchar?
使用ColumnAttribute指定数据类型
[Column(TypeName = "VARCHAR")]
[StringLength(250)]
public string Comment { get; set; }
或者使用fluent API
modelBuilder.Entity<MyEntity>()
.Property(e => e.Comment).HasColumnType("VARCHAR").HasMaxLength(250);
由于某些原因,这篇旧文章一直出现在我的搜索中…所以仅供参考,使用EF6 Core是组合的。以上答案我看错了。
[Column(TypeName = "VARCHAR(250)")]
public string Comment {get;set;}
Visual Studio 2022使用。Net 6和EF Core 6,数据库首先使用-DataAnnotations参数创建以下属性
/* Nullable column */
[StringLength(250)]
[Unicode(false)]
public string? Comment { get; set; }
/* Non-Nullable column */
[StringLength(250)]
[Unicode(false)]
public string Comment { get; set; } = null!;