EF的非PK属性的身份

时间:2011-12-07 14:20:50

标签: entity-framework auto-increment

我遇到以下情况,我使用EF和IDbSet实体,我的属性有一个GUID作为PK,但我需要一个拥有自动增量的实体。如果我将key属性放在应该是自动增量属性的属性上,则不再是GUID PK。

任何人都知道如何通过将自动增量属性放入EF而不将其打开PK?

namespace Service.Entity.Order
{
    [Serializable]
    public class Order : IEntity
    {
        #region Properties

        public Guid Id { get; set; }
        public DateTime DateImplementation { get; set; }
        public DateTime? DateDelivery { get; set; }

        //Field Auto-Increment
        public int NrOrder { get; set; }

        #endregion

        #region Status

        public int ProcessStatus { get; set; }

        public Status Created { get; set; }
        public Status Approved { get; set; }
        public Status PolicyDefined { get; set; }

        #endregion

        #region RelationShips

        public Client Client { get; set; }
        public User User { get; set; }
        public Representation Representation { get; set; }
        public Contact Contact { get; set; }

        #endregion
    }
}

1 个答案:

答案 0 :(得分:3)

解决方案, 将此属性放在属性

之上

[DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)]