大家 - 我有以下的一組對象:LINQ查詢的複雜對象
User { String:Name, List<Devices> }
Device {String:Name, DeviceVariationInfo }
DeviceVariationInfo { String:OS }
在數據庫中的對象被分爲如下表: 用戶,設備, DevieVariationsInfo,UserToDevices
我想查詢設備的列表及其變化信息的某個用戶,並使用以下查詢總是返回Devices
中的0個項目的列表。我敢肯定,我在這裏做得不對.. =)
private void GetUserDevices(ref User user)
{
User locUSer = user;
if (user != null)
{
var deviesQuery = from dts in _dataConext.DB_UserToDevices
where dts.UserId == locUSer.Id
join ds in _dataConext.DB_Devices on dts.DeviceID equals ds.Id
join dsv in _dataConext.DB_DeviceVariations on ds.Id equals dsv.DeviceId
select new Device
{
Version = ds.Version,
VariationInfo = new DeviceVariation
{
OSVersion = dsv.OS
},
Name = ds.FriendlyName,
Id = ds.Id
};
if (deviesQuery != null)
user.Devices = deviesQuery.ToList();
}
}
「我試圖查詢設備的丟失以及它們的變化信息」 - 這是什麼意思? – 2011-06-13 02:22:06
另外,請注意deviesQuery將永遠不會返回null。查詢可能返回零結果,但查詢對象本身不會爲空。 – 2011-06-13 02:22:35
修正了錯字=) – OneDeveloper 2011-06-13 02:31:16