【发布时间】:2015-05-16 02:15:46
【问题描述】:
我有一个类似于以下信息的数据集。
我想做的是用尽可能多的信息填充一个对象。
所以我想从顶部数据集中获取 UnitNum 65002,其余的从单列表中获取。
我的代码:
foreach (DataRow row in dsUnits.Tables[0].Rows)
{
var unit = new Unit.Unit
{
UnitNum = row["UnitNumber"].NullSafeToString(),
CustCode = row["CustCode"].NullSafeToString(),
Year = row["Year"].NullSafeToString(),
Make = row["Make"].NullSafeToString(),
Model = row["Model"].NullSafeToString()
};
UnitsInvolvedInBreakdown.Add(unit);
}
foreach (DataRow row in dsUnits.Tables[1].Rows)
{
if (UnitsInvolvedInBreakdown.Where(x => x.UnitNum == row["UnitNumber"].ToString()).Count() == 0)
{
var unit = new Unit.Unit
{
UnitNum = row["UnitNumber"].ToString()
};
UnitsInvolvedInBreakdown.Add(unit);
}
}
这对我来说似乎效率很低,我尝试了下面的代码并没有结果,
var q = dsUnits.Tables[0].AsEnumerable().Except(dsUnits.Tables[1].AsEnumerable());
我的问题基本上是,有没有办法使用 linq 从表 0 中选择 UnitNumber,前提是它们不存在于表 1 中
更好的解释。
单元号将在表1中。它可能在表0中。
如果它在表 0 中,我想从那里获取信息..我有更多信息。
如果它不在表 0 中,我想从表 1 中获取信息,因为我必须采取我能得到的东西。但我不想重复。
【问题讨论】:
-
这与实体框架有关吗?