У меня следующее заявление. Это работает и дает мне список ResourceObjects
.
var element = (from ro in ctx.ResourceObject
join prop in ctx.ResourceProperty on ro.ID equals prop.Resource.ID into propList
join rel in ctx.ResourceRelation on ro.ID equals rel.Resource.ID into relaList
where (ro.ResourceType.Name == ResourceTypeEnum.File.ToString()
|| ro.ResourceType.Name == ResourceTypeEnum.Folder.ToString())
select new
{
ID = ro.ID,
Name = ro.Name,
ResourceType = ro.ResourceType,
Properties = propList.ToList(),
Relations = relaList.ToList()
}).ToList().Select(p => new ResourceObject()
{
ID = p.ID,
Name = p.Name,
Properties = p.Properties,
Relations = p.Relations,
ResourceType = p.ResourceType
}).ToList();
Теперь у меня есть список вновь созданных объектов ресурсов со свойствами без ID
и я хочу сравнить их с БД. У каждого объекта есть имя и подсписок свойств (Name, Value), что делает их уникальными. Теперь я хочу изменить свой запрос, чтобы найти эти объекты в БД.
foreach (var resObj in FilesFolder)
{
var objectList = ....
}
Как мне сравнить мою таблицу ResourceObject
с resObj.Name
и списком свойств (только имя и значение). Я думаю, что мне нужны некоторые изменения в вышеупомянутой функции, но я не уверен, как я могу сравнить подсписок и только с именем и значением свойства и без ID
.