Mad*_*r24 46 c# sql-server entity-framework ef-code-first
我一直在网上搜索试图找出正确的语法,让实体框架代码首先用列创建我的表:varchar(max).
这就是我所拥有的.默认情况下,这会创建varchar(128).如何创建varchar(max)?
我试过[MaxLength]没有成功.
任何帮助,将不胜感激.谢谢!
[Column(TypeName = "varchar")]
public string MediaDesc { get; set; }
Run Code Online (Sandbox Code Playgroud)
Sla*_*uma 73
[Column(TypeName = "varchar(MAX)")]
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,最明显的解决方
该[MaxLength]
属性仅创建一个varchar
最大长度不是MAX 的列,但在我的情况下(SQL Server Express 2008 R2) - 8000.
Die*_*hon 15
这会让你nvarchar(max)
:
[StringLength(int.MaxValue)]
Run Code Online (Sandbox Code Playgroud)
我不认为有一个强制非unicode的属性(你确定你想要吗?),所以varchar(max)
你需要在DbContext中进行调整:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Entity>().Property(x => x.MediaDesc).IsUnicode(false);
}
Run Code Online (Sandbox Code Playgroud)
使用 [MaxLength] 注释。
[Column(TypeName = "varchar")]
[MaxLength]
public string MediaDesc { get; set; }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
40362 次 |
最近记录: |