Я недавно начал получать эту ошибку при попытке обновить уже существующую запись:
Типы данных ntext и nvarchar несовместимы в операторе равенства.
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Data.SqlClient.SqlException: типы данных ntext и nvarchar несовместимы в операторе равенства.
Ошибка источника:
Строка 108: streamEntryTable.Context.Refresh (RefreshMode.KeepCurrentValues, entry);
Строка 109:}
Строка 110: streamEntryTable.Context.SubmitChanges ();
Исходный файл: C:\ Path \ Genesis.Domain \ Concrete \ SqlGenesisRepositoryEntryPartial.cs Строка: 110
Трассировка стека: [SqlException (0x80131904): типы данных ntext и nvarchar несовместимы в операторе «равно».]
Что может вызвать подобное сравнение?Ранее я мог выполнять функции CRUD для этой таблицы.
Что может вызвать это сравнение?
Редактировать
C # POCO для linqTOsql:
[Table]
public class StreamEntry
{
[HiddenInput(DisplayValue = false)]
[Column(IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert)]
public long seID { get; set; }
[Required(ErrorMessage = "Please enter an entry URL.")]
[Column]
public string seUrl { get; set; }
[Required(ErrorMessage = "Please enter an entry headline.")]
[Column]
public string seHeadline { get; set; }
[Column]
public string seBody { get; set; }
[Column]
public string seDescription { get; set; }
[Column]
public string seKeywords { get; set; }
[Column]
public string seTitle { get; set; }
[Column]
public long seOrder { get; set; }
[Column]
public DateTime seDateCreated { get; set; }
[Column]
public DateTime seDateModified { get; set; }
[Column]
public long StreamID { get; set; } // FK
[Column]
public bool AllowComments { get; set; }
// Relationship (many entries to one stream)
// using EntityRef<Stream> and ThisKey
// which is "This" table FK
private EntityRef<Stream> _Stream;
[System.Data.Linq.Mapping.Association(Storage = "_Stream", ThisKey = "StreamID")]
public Stream Stream
{
get { return this._Stream.Entity; }
set { this._Stream.Entity = value; }
}
// relationship (one entry to many FieldInstances)
// uses EntitySet<FieldInstance> and OtherKey for the FK in FieldInstance
// which is the "Other" table.
private EntitySet<FieldInstance> _FieldInstance = new EntitySet<FieldInstance>();
[System.Data.Linq.Mapping.Association(Storage = "_FieldInstance", OtherKey = "fiStreamEntryID")]
public EntitySet<FieldInstance> FieldInstance
{
get { return this._FieldInstance; }
set { this._FieldInstance.Assign(value); }
}
}
Определение таблицы StreamEntry
seID bigint notnull
seUrl nvarchar (255) notnull
seHeadline nvarchar (255) notnull
seBody ntextnullable
seDescription nvarchar (255) nullable
seKeywords nvarchar (255) nullable
seTitle nvarchar (255) nullable
seOder bigint notnull * 10491050 * seDateCreated datetime notnull
seDateModified datetime notnull
StreamID bigint notnull
AllowComments, бит notnull
Edit2 - более подробная информация об ошибке
Я могу успешно SubmitChanges()
, если поле формы seBody
пусто.Если я добавлю текст в seBody
, он будет обновлен правильно.Но с этого момента любые попытки SubmitChanges()
вернут ошибку выше.