EF将数据添加到包含虚拟对象及其外键的对象

时间:2014-01-18 16:48:08

标签: c# entity-framework

大家好,我有以下实体:

public partial class Measurement
{
    public int MeasurementId { get; set; }
    public int Level { get; set; }
    public int BatteryLevel { get; set; }
    public byte[] Timestamp { get; set; }
    public string DeviceId { get; set; }

    public virtual Device Device { get; set; }
}

在另一个课程中,我正在创建一个Measurement对象:

var currentMeasurement = new Measurement()
{
    BatteryLevel = sensorDataObject.battery,
    ...
}

然后我卡住了,因为我不记得如何在EF处理这种情况。我有一个Device实体的引用,但也有一个外键。 所以我的问题是,我应该通过查找其ID来检索设备对象(来自数据库),并按如下方式分配它:

var currentMeasurement = new Measurement()
{
    BatteryLevel = sensorDataObject.battery,
    Device = context.Devices.Find(sensorDataObject.id)
    ...
}

但外键DeviceId怎么样?我是否必须自动分配或自动分配,因为我已经包含了它引用的对象?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

看看这篇文章MSDN希望它能回答你的问题!