使用实体框架代码优先创建文本列[重复]
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 第一个是在类定义中包含注释,第二个是在迁移文件中指定这些属性。以上是关于使用实体框架代码优先创建文本列[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用带有代码优先实体框架的 UnitOfWork 模式防止重复条目?