Как сравнить сложные типы в запросах?
Не работает (всегда возвращает ноль, РЕДАКТИРОВАТЬ: начиная с новой версии EF выдает исключение):
DbVector3 pos = new DbVector3() { X = 0, Y = 0, Z = 0};<br>
db.PhysObjects.FirstOrDefault(s => s.Position == pos);
Работает:
DbVector3 pos = new DbVector3() { X = 0, Y = 0, Z = 0};<br>
db.PhysObjects.FirstOrDefault(s => s.Position.X == pos.X && s.Position.Y == pos.Y && s.Position.Z == pos.Z);
Есть ли способ заставить первый пример работать?
EDIT:
Извините, я, вероятно, упоминаю только в заголовке, что это структура сущностей.
db - это ObjectContext, PhysObjects - это ObjectSet <>