我使用實體框架代碼優先。 我正在嘗試創建一個名爲OfferSequence的新實體,以便在數據庫中自動創建該表。實體框架代碼優先,錯誤:「EntityType'OfferSequence'沒有定義鍵」
的問題是,當我嘗試用新的實體來更新數據庫,我收到以下錯誤
One or more validation errors were detected during model generation:
ERP.EnterpriseDataAccessLayer.EnterpriseData.OfferSequence: : EntityType 'OfferSequence' has no key defined. Define the key for this EntityType. OfferSequences: EntityType: EntitySet 'OfferSequences' is based on type 'OfferSequence' that has no keys defined.
然而,正如你可以看到下面,關鍵是clearily對物業SequenceStart
定義public class OfferSequence : IEntity<OfferSequence>
{
public OfferSequence(uint sequenceStart, uint incrementalCounter, uint annualIncrementalCounter)
{
Validate.EnsureIsTrue(incrementalCounter >= sequenceStart && annualIncrementalCounter >= sequenceStart, "Counters can not be lower than sequence start");
SequenceStart = sequenceStart;
IncrementalCounter = incrementalCounter;
AnnualIncrementalCounter = annualIncrementalCounter;
LastUpdateDate = DateTime.UtcNow;
}
[Key]
public uint SequenceStart { get; private set; }
public uint IncrementalCounter { get; private set; }
public uint AnnualIncrementalCounter { get; private set; }
public DateTime LastUpdateDate { get; private set; }
public OfferSequence Clone()
{
OfferSequence copy = new OfferSequence(SequenceStart, IncrementalCounter, AnnualIncrementalCounter);
return copy;
}
object ICloneable.Clone()
{
return Clone();
}
public void Modify(OfferSequence obj)
{
AnnualIncrementalCounter = obj.AnnualIncrementalCounter;
IncrementalCounter = obj.IncrementalCounter;
LastUpdateDate = DateTime.UtcNow;
}
}
你沒有無參數的構造函數,不確定EF可以處理這種情況。 – tschmit007