首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架&如何获得ntext?

实体框架&如何获得ntext?
EN

Stack Overflow用户
提问于 2011-05-27 09:48:36
回答 3查看 1.7K关注 0票数 1

我的问题的答案应该很明显,但我找不到。我有一个edmx文件,它只有一个表。有一个类型为string的字段。EF总是为此生成nvarchar (这是一种预期的),但是对于这个字段,ntext I需要一个而不是 nvarchar,因为对于我来说,4000太小了。

那么告诉我,告诉EF生成ntext 字段的正确方法是什么?

使用实体框架4的PS,SQL CE 3.5

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-27 10:39:20

我想你是先用模特的,不是吗?您可以简单地为SQL生成创建自定义的T4模板,并包含逻辑,当字段定义为最大大小时,逻辑将使用NTEXT

默认模板打开:

代码语言:javascript
复制
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen\SSDLToSQL10.tt

只需复制此模板并找到创建数据类型的逻辑。一旦有了模板,就可以将模型属性中的DDL生成模板(在设计器中)更改为修改后的版本。

带有生成模板的There is much more you can do,因为您可以向模型(XML)添加一些注释,并在中将它们用于自定义逻辑。

票数 3
EN

Stack Overflow用户

发布于 2013-08-22 15:33:30

只需将设计器中的属性"MaxLength“设置为"Max”即可。这将在SQL中生成一个ntext字段。

票数 1
EN

Stack Overflow用户

发布于 2012-03-22 12:26:17

如果您的项目包含ADO.Net实体数据模型(.edmx),则请参见Ladislav's excellent answer

但是,如果您使用的是代码优先的库,并且您的项目不包含.edmx,那么您可以使用System.ComponentModel.DataAnnotations.ColumnAttribute来指定列类型:

代码语言:javascript
复制
using System.ComponentModel.DataAnnotations;

public class Note {

    [Column("Note", TypeName="ntext")]
    public string Note { get; set; }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6150525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档