Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 模型第一实体框架最大字符串长度为4000_C#_Sql Server_String_Entity Framework_Sql Server Ce - Fatal编程技术网

C# 模型第一实体框架最大字符串长度为4000

C# 模型第一实体框架最大字符串长度为4000,c#,sql-server,string,entity-framework,sql-server-ce,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" /> 这对于应存储在这些列中的字符串来说不够长 在解决这个问题的一些代码优先方法中,我看到ntext数据类型可以有所

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

它是通过实体框架和模型优先方法访问/创建的

现在,我的EDMX中有一些
String
类型的列,它们具有指定的最大长度

EDMX declaration
<Property Name="Description" Type="nvarchar" Nullable="false" MaxLength="Max" />
这对于应存储在这些列中的字符串来说不够长

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

如何在模型优先的环境中实现这一点?

添加FixedLength=“false”-因此:


然后使用标准模板将其生成为ntext


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

您是否尝试过Type=“nvarchar(max)”?@tschmit007我不知道在模型中放置此功能的位置。我这里只有“字符串”类型。你能给我更多的信息吗?@tschmit007我已经尝试在model.edmx的xml编辑器中编辑这个。之后无法打开模型,因此我无法生成edmx.sqlce文件。您是否尝试过Type=“ntext”?(nvarchar(MAX)不适用于SQLCE)是的,我已经试过了。之后无法打开模型。谢谢您的回答。我应该在哪里编辑?在您的示例中使用“字符串”会导致“错误8错误40:类型字符串未通过命名空间或别名限定。只有基本类型可以在没有限定的情况下使用。”并且按照您的建议使用FixedLength会导致“错误8错误64:不能为类型“nvarchar”指定方面“FixedLength”我刚刚使用了问题属性的GUI属性编辑器,用屏幕截图和说明更新了我的回复。这些正是我选择的设置。在EDMX文件的存储部分,我仍然可以看到用于存储的nvarchar。在生成的SQL中仍然存在nvarchar。将尝试您提到的SQL Compact工具箱。您是否连接到SQL Server Compact数据库文件,以及您使用的是哪个版本的VS?我还没有对我的EDMX进行任何手动编辑,请不要这样做
.edmx.sqlce file (sql to create the database)
[Description] nvarchar(4000)  NULL,
<Property Name="Text" Type="String" Nullable="false" MaxLength="Max" FixedLength="false" />