SQL Server CE 4.0, CodeFirst and GUID keys
本文关键字:CodeFirst and GUID keys Server CE SQL | 更新日期: 2023-09-27 17:50:24
我使用代码优先来设计模型,并选择GUID作为主键的数据类型。我的类是这样的:
public class AccountMovementPlan
{
[Key, DatabaseGenerated( System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity )]
public Guid AccountMovementPlanID { get; set; }
[Required]
public Guid UserAccountID { get; set; }
[ForeignKey("UserAccountID")]
public UserAccount UserAccount { get; set; }
// etc, etc, etc
}
接下来,我选择SQL Server CE 4.0作为我的数据存储,实现配置使用SqlCEConnectionFactory
,并使用DropCreateDatabaseIfModelChanges
作为初始化方法。
但是,当我尝试运行我的应用程序时,我看到一个错误
在EntityFramework.dll中发生类型为'System.Data.SqlServerCe.SqlCeException '的未处理异常
告诉我,
标识列必须为整数或大整数数据类型,不能为NULL。
我的问题很明显:SQL Server CE与代码优先不支持自动生成guid作为pk ?或者,我在哪里出错了?
不支持,您必须在代码中使用guide . newguid()来赋值