Вы также можете сделать следующее:
public static int[][] copy(int[][] src) {
int[][] dst = new int[src.length][];
for (int i = 0; i < src.length; i++) {
dst[i] = Arrays.copyOf(src[i], src[i].length);
}
return dst;
}
LINQ к SQL только поддерживает от 1 до 1 отображения таблиц базы данных, представлений, sprocs и функций, доступных в Microsoft SQL Server. Это - большой API для использования для быстрой конструкции доступа к данным для относительно хорошо разработанных баз данных SQL Server. LINQ2SQL был сначала выпущен с C# 3.0 и.Net Платформой 3.5.
LINQ к Объектам (Платформа Объекта ADO.NET) является ORM (Объектный Реляционный Картопостроитель) API, который допускает широкое определение объектных моделей предметной области и их отношений ко многим различным поставщикам данных ADO.NET. По сути, Вы можете смешивание и подгонка много различных поставщиков базы данных, серверов приложений или протоколов для разработки агрегированного мэшапа объектов, которые создаются из множества таблиц, источников, сервисов, и т.д. Платформа ADO.NET была выпущена с.Net Платформой 3,5 SP1.
Это - хорошая вводная статья о MSDN: Представление LINQ к Реляционным Данным
Если Ваша база данных будет проста и проста, LINQ к SQL сделает. При необходимости в логических/абстрактных объектах сверху таблиц то пойдите для Платформы Объекта.
Существует много очевидных различий, обрисованных в общих чертах в той статье @lars, отправленный, но короткий ответ:
, исходная предпосылка была L2S, для Быстрой разработки и EF для большего количества "enterprisey" n-tier приложения, но это продает L2S, немного короткий.
LINQ к Действительно Мертвому SQL? Jonathan Allen для InfoQ.com
Matt Warren описывает [LINQ к SQL] как что-то, что ", как даже не предполагалось, существовало". По существу это, как просто предполагалось, было заместителем, чтобы помочь им разработать LINQ, пока реальный ORM не был готов.
...
масштаб Платформы Объекта заставил его пропускать.NET 3.5/Visual Studio крайних срока 2008 года. Это было завершено как раз к, к сожалению, именованной ".NET 3.5 Пакета обновления 1", который больше был похож на главную версию, чем пакет обновления.
...
Разработчикам не нравится [Платформа Объекта ADO.NET] из-за сложности.
...
с.NET 4.0, LINQ к Объектам будет рекомендуемым решением для доступа к данным для LINQ к реляционным сценариям.
Я думаю, что быстрый и грязный ответ - то, что
Мое впечатление - то, что Ваша база данных довольно огромна или очень плохо разработанная, если Linq2Sql не соответствует Вашим потребностям. У меня есть приблизительно 10 веб-сайтов, и больше и меньших все использование Linq2Sql. Я смотрел и платформа Объекта много раз, но я не могу найти серьезное основание для использования ее по Linq2Sql. Это сказало, что я пытаюсь использовать свои базы данных в качестве модели, таким образом, у меня уже есть от 1 до 1 отображения между моделью и базой данных.
В моем текущем задании у нас есть база данных с 200 + таблицы. Старая база данных с большим количеством плохих решений, таким образом, там я видел преимущество Платформы Объекта по Linq2Sql, но тем не менее я предпочту перепроектировать базу данных начиная с базы данных, является механизмом приложения и если база данных будет плохо разработана и медленная тогда, то мое приложение также будет медленным. Используя платформу Объекта на такой базе данных походит на quickfix для маскировки плохой модели, но это никогда не могло маскировать плохую производительность, которую Вы получаете от такой базы данных.
Мой опыт с Платформой Объекта был менее, чем звездным. Во-первых, необходимо наследоваться базовым классам EF, поэтому сказать до свидания POCOs. Ваш дизайн должен будет быть вокруг EF. С LinqtoSQL я мог использовать свои существующие бизнес-объекты. Кроме того, нет никакой ленивой загрузки, необходимо реализовать это сами. Существует некоторая работа arounds там для использования POCOs и ленивой загрузки, но они существуют, по моему скромному мнению, потому что EF еще не готов. Я планирую возвратиться к нему после 4.0
Я думаю, необходимо ли разработать что-то быстрое без Странных вещей в середине, и Вам нужно средство, чтобы иметь объекты, представляющие Ваши таблицы:
Linq2Sql может быть объединенной пользой, использование его с LinQ развязывает большую синхронизацию разработки.
Ни один из них еще не поддерживает уникальные типы данных SQL 2008.