使用EF代码首先,我想插入一个自动生成ID 的实体,只有我还没有设置其ID。
这是我要插入的实体:
public class ElementEntity
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }
public int Property1{ get; set; }
public string Property2{ get; set; }
}
和用于插入数据的函数:
public static void AddEntity(int id, int prop1, string prop2)
{
db.Contents.Add(new ElementEntity
{
Id = id,
Property1 = prop1,
Property2 = prop2
});
db.SaveChanges();
}
我想拥有相同的功能,但没有id参数。如果我使用这样的函数,Id会自动设置为0并抛出异常。
Entity Framework Code Fisrt是否允许混合生成Id行为?
答案 0 :(得分:1)
AFAIK不是生成id的EF,而是生成数据库的EF(因此数据库生成选项)。因此,数据库表的属性决定是否生成id字段。
因此,我认为混合是不可能的。数据库是否生成它,但没有混合。