我从 .mdf 中的表中构建了我的 LINQ to SQL 文件,其中表“Measurement”与“Experiment_Info”表相关联(一对一)。在测试我的应用程序时,我输入了一些“测量”条目。所以自动增量计算了表的 ID。直到后来我才开始添加带有“Experiment_Info”表的条目。
两者都是正确创建的,但是“Measurement”表的 ID 永远不会等于“Experiment_Info”表的 ID,因为 Measurement-ID 已经被计算在内。
因此,当我调用 LINQ 连接语句时,例如:
bs.DataSource =
from m in measDAL.getMeasurements()
join i in measDAL.getExperimentInfo() on m.Measurementid equals i.ExperimentInfoID
select new {
m.Measurementid,
m.MeasurementName,
i.DateTime,
i.Project
};
在这种情况下,“等于”真的意味着“==”吗?这意味着我必须以某种方式重置数据库中的所有 ID,不是吗?
我的结论对吗?如果他们是如何进行此重置?
另外,我想展示如何将条目添加到数据库中,因为我想这也可能是问题所在。当我在“一对多”关系中添加条目时,它的工作方式如下:
newMeasurement.SpectrumSet.Add(newSet);
如果我有“一对一”关系的“Experiment_Info”,我会这样做:
Measurement newMeasurement = new Measurement();
newMeasurement.MeasurementName = name;
ExperimentInfo exInfo = new ExperimentInfo();
newMeasurement.ExperimentInfo = exInfo;
newMeasurement.ExperimentInfo.Analyze = analysis;
newMeasurement.ExperimentInfo.DateTime = dateTime;
newMeasurement.ExperimentInfo.DonorAge = donorAge;
newMeasurement.ExperimentInfo.Project = project;
newMeasurement.ExperimentInfo.Treatment = treatment;
newMeasurement.ExperimentInfo.MediaType = mediatype;
newMeasurement.ExperimentInfo.DonorAge = donorAge;
newMeasurement.ExperimentInfo.Passage = Passage;
newMeasurement.ExperimentInfo.Objective = objective;
newMeasurement.ExperimentInfo.Substrate = substrate;
newMeasurement.ExperimentInfo.Power = power;
measurements.InsertOnSubmit(newMeasurement);
measDAL.context.SubmitChanges();
我希望我能提供有关我的问题的足够信息。
提前致谢。