Из Java 8
и далее нам не нужно напрямую использовать Collections.sort()
. Интерфейс List
имеет метод по умолчанию sort()
:
List users = Arrays.asList(user1,user2,user3);
users.sort( (u1, u2) -> {
return u1.getFirstName.compareTo(u2.getFirstName());});
См. http://visvv.blogspot.in/2016/01/sorting-objects-in-java-8. HTML .
Вернитесь к разработчику и проверьте, что отношение настраивается правильно. Вот один реальный пример, с BillStateMasters имеют свойство "CustomerMasters1" (клиенты для состояния):
именование ps очищается...
Обновление 1: также необходимо удостовериться, что обеим таблицам определили основное устройство. Если первичный ключ не определяется на базе данных (и не может быть определен по любой причине), удостоверьтесь, что определили их в разработчике. Откройте свойства столбца и установите его как первичный ключ. Тем не менее объект, отслеживающий также, не будет работать, если у Вас не будет первичного ключа для объекта, который для удаляет средства, которые он тихо не делает обновляет объект. Так, удостоверьтесь, что рассмотрели все объекты и имели их всех с первичным ключом (как я сказал, если это не может быть на дб, затем на разработчике).
CasesDataContext db = new CasesDataContext();
var Cases = from c in db.Cases
join ci in db.CaseInfo on
ci.ID equals c.InfoID
where ci.CaseInfoMeta == "some value"
select new {CASE=c, INFO=ci};
мое "соединение" linq немного ржаво, но вышеупомянутое должно быть рядом с тем, что Вы после.
Ассоциация установлена на Одну Одной или Одной Многим? Если Вам установили ассоциацию на Одну Многим, то то, что Вы имеете, является EntitySet, не EntityRef, и необходимо будет использовать, где пункт на зависимом установил для получения правильного значения. Я подозреваю, что Вы хотите Связь "один к одному", которая не является значением по умолчанию. Попытайтесь изменить его на Один Одному и посмотрите, можно ли создать запрос.
Примечание: я просто предполагаю, потому что Вы на самом деле не сказали нам, какова "проблема" на самом деле.
Ваша корректная внешность запроса и должна возвратить набор результата запроса объектов Случая.
Так... в чем проблема?
(Редактирование) Моя проблема, являющаяся, что CaseInfo не доступен под Случаями... т.е. c. CaseInfo не существует, где я предполагаю, что это было бы, если бы были явные основные отношения / отношения внешнего ключа.
, Под чем Вы подразумеваете "не доступный"? При создании ассоциации в разработчике, поскольку Вы говорите, что сделали, то запрос должен генерировать SQL что-то вроде
SELECT [columns]
FROM Case INNER JOIN CaseInfo
ON Case.CaseID = CaseInfo.CaseID
WHERE CaseInfo.CaseInfoMeta = 'some value'
, Вы отладили свой запрос linq для генерирования SQL уже? Что это возвращает?
После нескольких тестов я вполне уверен, отношения FK требуются в DB независимо от любых ассоциаций, создаются в Linq к SQL. т.е. если Вам не установили их явно в DB, тогда необходимо будет сделать соединение вручную.
Несколько вещей Вы могли бы хотеть попробовать:
Проверка свойства ассоциации. Удостоверьтесь, что свойство Parent было создано как Общественность. Это делает это по умолчанию, но что-то, возможно, изменилось.
, Так как Вы не получаете CaseInfo на C, попытайтесь ввести его другое направление, чтобы видеть, получаете ли Вы ci. Случай с intellisense.
Удаляют и воссоздают ассоциацию все вместе.
существует что-то очень простое, идущее не так, как надо, если дочерние элементы не обнаруживаются. Могло бы быть лучше удалить dbml и воссоздать все это.
, Если все остальное перестало работать, переключатель к NHibernate.:)
Этот c#? Я думаю, что Вам нужно ==
вместо = на этой строке:
where c.CaseInfo.CaseInfoMeta = "some value"
должен читать
where c.CaseInfo.CaseInfoMeta == "some value"