我是EF的新手,在ETF6.0中try 通过代码优先的方法来完成我的第一步,现在我遇到了一个问题.
我有一处房产
[Key]
public string FooId { get; set; }
这是我的模型主键.
但如果我运行
PM> Update-Database
命令更新到数据库的挂起迁移时,我收到以下错误:
标识列"FooId"的数据类型必须为int,bigint,mall int, tinyint、DECIMAL或NUMERIC,小数位数为0,并约束为 不可为空.
如果我将模型中的PK更改为
[Key]
public int FooId { get; set; }
一切正常.
但我需要的是字符串类型的PK,因为它在我的情况下绝对有意义.我知道有缺点,但对我来说这是必要的.
我在这里看到一个老帖子.
但是这似乎不能解决我的问题,或者我就是不明白.
我真的不能在SQL数据库上使用字符串作为PK吗?
或者有没有办法做到这一点?