使用 Entity Framework Code First CTP5,我如何创建一个主键列,它是 INT,而不是标识列
最好不要使用属性。
使用 Entity Framework Code First CTP5,我如何创建一个主键列,它是 INT,而不是标识列
最好不要使用属性。
这个答案对我不起作用(在 EF 4.1 中)。
为了完成这项工作,我在我的键列中添加了 DatabaseGenerated 属性:
public class FacebookUser
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public long FacebookId { get; set; }
// ...
}
希望这可以帮助某人。
如果您使用 fluent 接口而不是在属性上使用属性来构建实体,则可以使用 DatabaseGenerationOption 类(来自 EntityFramework.dll,在 System.ComponentModel.DataAnnotations 命名空间中)。我没有测试过它,但这就是它的样子:
modelBuilder
.Entity<Foo>()
.Property(f => f.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
小变化
public class User
{
[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int ID { get; set; }
// Rest of the code
}