Je continue d'obtenir la même erreur: Les entités de 'VlaamseOverheidMeterEntities.ObjectMeter' participent à la relation 'FK_ObjectMeter_Meter'. 0 'Meter' ont été trouvés. 1 'Compteur' est attendu.Entity Framework EntityKey/Problème de clé étrangère
J'ai la structure de tableau suivant:
compteur 1 < - * ObjectMeter * -> 1 VO_Object
Il est toujours le même scénario: Le premier compteur est ajouté à la base de données, le deuxième compteur donne l'erreur ci-dessus.
j'ai le code suivant dans mon manager:
public List<string> addTemporary(string username, string meterNaam, string readingType, string parentID) {
Meter meter = new Meter();
VO_Object voObject = objectManager.getObjectByID(parentID);
ObjectMeter objMeter = new ObjectMeter();
meter.readingType = (int)Enum.Parse(typeof(ReadingType), readingType);
meter.isActive = true;
meter.name = meterNaam;
meter.startDate = DateTime.Now;
meter.endDate = DateTime.Now.AddYears(6000);
meter.uniqueIdentifier = "N/A";
meter.meterType = (int)Enum.Parse(typeof(MeterType), "NA");
meter.meterCategory = (int)Enum.Parse(typeof(MeterCategory), "NA");
meter.energyType = (int)Enum.Parse(typeof(EnergyType), "NA");
meter.utilityType = (int)Enum.Parse(typeof(UtilityType), "NA");
meter.unitOfMeasure = (int)Enum.Parse(typeof(UnitOfMeasure), "NA");
objMeter.valid_from = meter.startDate;
objMeter.valid_until = meter.endDate;
objMeter.Meter = meter;
objMeter.VO_Object = voObject;
createMeter(meter);
List<String> str = new List<string>();
str.Add("" + meter.meterID);
str.Add(meter.name);
return str;
}
et dans ma classe Dao qui relie à la base de données:
internal void CreateMeter(Meter _meter) {
_entities.AddToMeter(_meter);
_entities.SaveChanges();
}
Quelqu'un peut-il expliquer cette erreur s'il vous plaît?
Ronald
Quelle est la clé primaire de Meter? Quel champ, quel type, est-il autoincrément ou non, et si non, comment l'initialiser? –
Avez-vous essayé d'ajouter une entité à un contexte en utilisant AddTo [Un ensemble d'entités] en premier, puis en affectant des propriétés de navigation? –
@Fyodor: J'utilise Autoincrement et l'ID de Meter est meterID @Oleg: Je vais essayer ça. – Ronny176