I have a class called Offer as follows:
public class Offer
{
public Guid Id { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int OfferNo { get; set; }
public OfferType OfferType { get; set; }
public DateTimeOffset DateAdded { get; private set; }
public DateTimeOffset DateEdited { get; set; }
public bool IsActive { get; set; }
}
I am using Id property as my PK obviously. But I also need to display the Id of offers (as users will search for offers using this value) and the Guid property is too long for that.
Thus, I tried to use DatabaseGeneratedOption.Identity to auto increment the integer column OfferNo, but I can not set an initial value to increment on. I inserted a dummy entry and then tried to set OfferNo to something else than 1, but received the following exception:
Modifying a column with the 'Identity' pattern is not supported. Column: 'OfferNo'. Table: 'CodeFirstDatabaseSchema.Offer'.
I would like to set the initial value of this auto incremented column using code-first. An alternative solution will also be appreciated.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…