实体框架插入FK存在的位置

时间:2013-03-01 12:33:57

标签: c# entity-framework

我需要一些帮助,这应该是一个相当简单的过程。有人可以解释一下我需要做什么来插入吗?

InspectionPremiseTypeID有一个fk到InspectionPremiseType.ID但是,我总是只需要传递一个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'关系。找到0个相关的'efInspectionPremiseType'。预期1'efInspectionPremiseType'。

我也试过这个

newInspection.InspectionPremiseTypeID = 
            entities.efInspectionPremiseTypes.Where(t => t.ID == (int)inspectionPremiseType).FirstOrDefault().ID;

但是得到这个错误(这是可以理解的)

无法创建“闭包类型”类型的常量值。在此上下文中仅支持原始类型(例如Int32,String和Guid')。

0 个答案:

没有答案