对于一个项目,我使用一个本地SQLServer CE数据库,该数据库通过Entity Framework以Model-First方法访问。
现在我想存储长度超过4000个字符的字符串(这是最大长度)。
从我的question here和更有帮助的question here我看到,使用Model-First方法解决此限制的唯一方法是拥有自己的T4模板。
为自己的代码生成创建新模板的是described in this article以及in this article
但这没有用。如何更改生成的类型 在模型(edmx)中将属性声明为
EDMX declaration
<Property Name="Description" Type="nvarchar" Nullable="false" MaxLength="Max" />
现在导致这个生成的SQL
.edmx.sqlce file (sql to create the database)
[Description] nvarchar(4000) NULL,
类似于ntext,似乎没有4000个字符长度限制。 因此,应该生成的内容应该是
.edmx.sqlce file (sql to create the database)
[Description] ntext(100000) NULL,
或者,甚至可能是
.edmx.sqlce file (sql to create the database)
[Description] ntext(max) NULL,
非常感谢任何帮助。