使用实体框架代码优先创建文本列[重复]

Posted

技术标签:

【中文标题】使用实体框架代码优先创建文本列[重复]【英文标题】:create text column with Entity Framework Code First [duplicate] 【发布时间】:2013-12-02 18:45:08 【问题描述】:

如何创建 TEXT 而不是 NVARCHAR 的字段?现在我有

public string Text  get; set; 

但这总是变成一个 nvarchar 列,我需要一个 Text 列

【问题讨论】:

有很多不同的方法可以做到这一点。您当前配置列存储类型的方法是什么?您在使用模型构建器吗?英孚迁移?属性? 我刚开始接触 c# 和 .net。我知道如何使用 EF 迁移是的。难道没有任何类型的注释可以放在使其成为 TEXT 列的属性上吗? 见这里:***.com/a/4913615/328123 编辑:或莫霍的回答:) 【参考方案1】:

您可以使用System.ComponentModel.DataAnnotations.Schema.ColumnAttribute

[Column(TypeName = "text")]
public string Text  get; set; 

或通过 Fluent API:

modelBuilder.Entity<YourEntityTypeHere>()
    .Property( e => e.Text)
    .HasColumnType( "text" );

【讨论】:

哪个更好,为什么? @OchiFortune 第一个是在类定义中包含注释,第二个是在迁移文件中指定这些属性。

以上是关于使用实体框架代码优先创建文本列[重复]的主要内容,如果未能解决你的问题,请参考以下文章