我有一個使用實體框架代碼優先的Web API。病人域實體的樣子:此版本的SQL Server不支持不推薦的功能'INSERT NULL into TIMESTAMP columns'
public class Patient
{
public string FirstName { get; private set; }
public string LastName { get; private set; }
...
public byte[] Version { get; private set; }
}
患者臺這樣的:
CREATE TABLE [dbo].[Patient]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[FirstName] NVARCHAR(100) NOT NULL,
[LastName] NVARCHAR(100) NOT NULL,
...
[Version] ROWVERSION NOT NULL,
)
如果我運行這個地方,病人項成功地添加到數據庫中,所以它工作正常(SQL Server 2008 R2中) 。
但是,如果我部署到Azure和運行它在那裏,我得到異常:
在更新條目中出現了錯誤。詳情請參閱內部例外。此版本的SQL Server不支持棄用功能'將NULL插入TIMESTAMP列'。
如果我從表中刪除版本列;以及來自域實體的Version屬性,它也適用於Azure。如果我只將它從域實體中刪除(並將它放在表中),也是可行的!
我在做什麼錯?
Azure上有趣的行爲。它適用於本地sql server 2012 Express版本。 – abhi