Это сработало для меня:
find ./ -type f -exec sed -i 's/string1/string2/' {} \;
Однако этого не произошло: sed -i 's/string1/string2/g' *
. Возможно, «foo» не предназначался для string1 и «bar» not string2.
Это не может работать, потому что ppCombined
представляет собой набор объектов в памяти, и вы не можете присоединиться к набору данных в базе данных с другим набором данных, который находится в памяти. Вместо этого вы можете попытаться извлечь отфильтрованные элементы personProtocol
коллекции ppCombined
в память после , вы получили другие свойства из базы данных:
var persons = db.Favorites
.Where(f => f.userId == userId)
.Join(db.Person, f => f.personId, p => p.personId, (f, p) =>
new // anonymous object
{
personId = p.personId,
addressId = p.addressId,
favoriteId = f.favoriteId,
})
.AsEnumerable() // database query ends here, the rest is a query in memory
.Select(x =>
new PersonDTO
{
personId = x.personId,
addressId = x.addressId,
favoriteId = x.favoriteId,
personProtocol = ppCombined
.Where(p => p.personId == x.personId)
.Select(p => new PersonProtocol
{
personProtocolId = p.personProtocolId,
activateDt = p.activateDt,
personId = p.personId
})
.ToList()
});
В моем случае я смог решить проблему, выполнив следующие действия:
Я изменил свой код на это:
var r2 = db.Instances.Where(x => x.Player1 == inputViewModel.InstanceList.FirstOrDefault().Player2 && x.Player2 == inputViewModel.InstanceList.FirstOrDefault().Player1).ToList();
К этому:
var p1 = inputViewModel.InstanceList.FirstOrDefault().Player1;
var p2 = inputViewModel.InstanceList.FirstOrDefault().Player2;
var r1 = db.Instances.Where(x => x.Player1 == p1 && x.Player2 == p2).ToList();
p1
и p2
находятся в памяти, объявлены ли они анонимно или по имени переменной.
– Rahat Zaman
30 April 2018 в 15:31
Не знаю, ищет ли кто-нибудь это. У меня такая же проблема. Выбор в запросе, а затем выполнение того, где (или объединение) и использование переменной выбора разрешили проблему для меня. (проблема была в коллекции «Reintegraties» для меня)
query.Select(zv => new
{
zv,
rId = zv.this.Reintegraties.FirstOrDefault().Id
})
.Where(x => !db.Taken.Any(t => t.HoortBijEntiteitId == x.rId
&& t.HoortBijEntiteitType == EntiteitType.Reintegratie
&& t.Type == TaakType))
.Select(x => x.zv);
надеюсь, что это кому-то поможет.
zv.this.Reintegraties.FirstOrDefault().Id
потенциальное исключение NullReferenceException
– user
24 November 2016 в 07:12