かなり簡単なプロセスであるべきことについて、助けが必要です。この挿入を行うために何をする必要があるかを誰か説明してもらえますか?
InspectionPremiseTypeID には InspectionPremiseType.ID への fk がありますが、必要に応じて常に int 値を渡しています。(int)inspectionPremiseType は、InspectionPremiseType テーブルに存在する int 値です。
efInspection newInspection = new efInspection();
newInspection.Created = DateTime.Now;
newInspection.CreatedBy = "Web";
newInspection.ReturnHeaderID = ReturnID;
newInspection.InspectionPremiseTypeID = (int)inspectionPremiseType;
newInspection.PrePlanned = intPrePlanned;
newInspection.FollowingComplaint = intComplaint;
newInspection.FollowUp = intFollowUp;
try
{
entities.AddToefInspections(newInspection);
entities.SaveChanges();
}
これを実行すると、このエラーが発生します
「dbEntities.efInspections」のエンティティは、「FK_Inspection_InspectionPremiseType」関係に参加します。関連する 'efInspectionPremiseType' が 0 件見つかりました。1 'efInspectionPremiseType' が予期されます。
私もこれを試しました
newInspection.InspectionPremiseTypeID =
entities.efInspectionPremiseTypes.Where(t => t.ID == (int)inspectionPremiseType).FirstOrDefault().ID;
しかし、このエラーが発生します(これは理解できます)
タイプ 'Closure type' の定数値を作成できません。このコンテキストでは、プリミティブ型 (Int32、String、および Guid など) のみがサポートされます。