@Kevin: Я думаю проблема с примером, который Вы представляете, то, что Вы используете плохое проектирование баз данных. Я думал бы, что Вы составите потребительскую таблицу и таблицу адреса и нормализовали таблицы. Если Вы делаете это, можно определенно использовать Linq Для SQL для сценария, который Вы предлагаете. Scott Guthrie имеет большой ряд сообщений при использовании Linq К SQL, который я настоятельно рекомендовал бы, чтобы Вы проверили.
я не думаю, что Вы могли сказать дополнение Linq и NHibernate друг друга как, который будет подразумевать, что они могли использоваться вместе, и пока это возможно, Вы - очень более обеспеченный выбор того и придерживание его.
NHibernate позволяет Вам отображать свои таблицы базы данных на Ваши объекты области очень гибким способом. Это также позволяет Вам использовать HBL для запросов базы данных.
Linq к SQL также позволяет Вам отображать свои объекты области на базу данных однако, это использует синтаксис запроса Linq для запросов базы данных
, основное различие здесь - то, что синтаксис запроса Linq проверен во время компиляции компилятором, чтобы гарантировать, что запросы допустимы.
Некоторые вещи знать с linq состоят в том, что это только доступно в .net 3.x и только поддерживается в VS2008. NHibernate доступен в 2,0 и 3.x, а также VS2005.
Некоторые вещи знать с NHibernate состоят в том, что он не генерирует Ваши объекты области, и при этом он не генерирует отображающиеся файлы. Необходимо сделать это вручную. Linq может
делать это автоматически для Вас.
Вам нужно либо запустить jstatd на удаленной стороне или укажите соединение JMX с помощью host: port.
Jstatd:
jstatd -J-Djava.security.policy = permissions.txt [-p порт]
После этого: добавьте удаленное подключение к целевой машине и настройте свойства этого удаленного подключения соединение jstatd.
(permissions.txt содержит, например, следующее:
grant {
permission java.security.AllPermission;
};
Изменить: (Ответ на комментарий)
ssh -D 9696 me @ remote
и запустите jstatd, как указано выше, в удаленной командной строке. Если вы хотите, чтобы jstatd находился на другом порту, чем 1099 по умолчанию, используйте аргумент -p для jstatd. visualvm.exe -J-Dnetbeans.system_socks_proxy = localhost: 9696 -J-Djava.net.useSystemProxies = true
на локальном компьютере в Visual vm: добавить новое удаленное соединение и укажите удаленный в качестве хоста и порт для jstatd (1099 по умолчанию или то, что вы указали с помощью -p при запуске jstatd)
Теперь вы должны увидеть процессы на удаленной стороне в visualvm