Для проекта у меня есть база данных SQL Server CE 3.5.
Он доступен/создан через структуру сущностей с использованием подхода, основанного на модели.
Теперь у меня в столбце EDMX есть String
типизированной строкой, которые имеют максимальную длину.
EDMX declaration
<Property Name="Description" Type="nvarchar" Nullable="false" MaxLength="Max" />
Сгенерированный код (*.sqlce
file) показывает, что из столбца строки максимальной длины в модели генерируется столбец nvarchar(4000)
.
.edmx.sqlce file (sql to create the database)
[Description] nvarchar(4000) NULL,
Это недостаточно для строк, которые должны храниться в этих столбцах.
В некоторых решениях, основанных на кодовом подходе к этой проблеме, я видел, что тип данных ntext
может помочь, поскольку он не имеет предела 4000 символов.
Как это можно достичь в среде с первой моделью?
Добавьте FixedLength = "false" - так:
<Property Name="Text" Type="String" Nullable="false" MaxLength="Max" FixedLength="false" />
Затем он генерируется как ntext, используя стандартный шаблон
Конечно, вы должны подключиться к файлу базы данных SQL Server Compact, когда мастер приступает к работе. Вы можете установить мой SQL Server Compact Toolbox, чтобы включить это в VS 2012 или новее