使用 EntityFramework 代码优先,我创建了一个简单的Foo
桌子。这是我的实体:
public class Foo
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual string Id { get; set; }
public virtual string Name { get; set; }
}
但是,每当我尝试插入新行时,我都会得到一个Cannot insert the value NULL into column 'Id'
。为什么当我添加了一个后会发生这种情况DatabaseGenerated
属性?删除并重新创建我的表没有什么区别。
身份为string
SQL Server 不支持列类型。 (您希望这样的字符串看起来如何?)要使其正常工作,您可以 - 例如 - 在 SQL Server 中添加一个计算列/用户定义的函数,该函数从普通 int 标识列格式化字符串 - 如图所示here http://www.kodyaz.com/t-sql/custom-sequence-string-as-sql-identity-column.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)