模型优先实体框架最大字符串长度为4000

时间:2014-10-14 12:55:41

标签: c# sql-server string entity-framework sql-server-ce

对于项目,我有一个SQL Server CE 3.5数据库。

使用模型优先方法通过实体框架访问/创建它。

现在我的EDMX中有一些String类型的列,其中指定了最大长度。

EDMX declaration
<Property Name="Description" Type="nvarchar" Nullable="false" MaxLength="Max" />

生成的代码(*.sqlce文件)显示,从模型中的max-length字符串列生成nvarchar(4000)列。

.edmx.sqlce file (sql to create the database)
[Description] nvarchar(4000)  NULL,

这对于应存储在这些列中的字符串来说还不够长。

在这个问题的一些代码优先方法解决方案中,我看到ntext数据类型可以提供帮助,因为它没有4000个字符限制。

如何在模型优先环境中实现这一目标?

1 个答案:

答案 0 :(得分:1)

enter image description here

添加FixedLength =&#34; false&#34; - 所以:

<Property Name="Text" Type="String" Nullable="false" MaxLength="Max" FixedLength="false" />

然后使用标准模板

生成ntext

当向导启动时,您必须连接到SQL Server Compact数据库文件。您可以安装我的SQL Server Compact Toolbox以在VS 2012或更新版本中启用它