Я должен Использовать Платформу Объекта, DataSet или Пользовательские классы?

Я буду ответ второго Diago. Я использую TortoiseSVN на Vista x64 довольно в большой степени.

я действительно обновлял непосредственно от более старой версии до 1.5.2, хотя, и никогда не использовал 1.5.1. Вы попробовали 1.5.2?

13
задан 5 November 2009 в 08:15
поделиться

3 ответа

Я согласен с Марком Г. 100% - DataSets - отстой, особенно в сценарии WCF (они добавляют много накладных расходов на обработку манипуляций с данными в памяти) - не используйте их. Они подходят для новичков и могут быть двухуровневыми настольными приложениями в небольшом масштабе, но я бы не стал использовать их в серьезном, профессиональном приложении.

По сути, ваш вопрос сводится к тому, как вы преобразовываете свои строки из базу данных во что-то, что можно удалить через WCF. Это означает некоторую форму сопоставления - либо вы делаете это самостоятельно, используя DataReaders, а затем помещаете все данные в классы WCF [DataContract] ) - вы, безусловно, можете это сделать, дает вам полный контроль, но это также утомительно. , громоздкий и подверженный ошибкам.

Или вы позволяете какой-нибудь готовой ORM выполнять эту рутинную работу за вас - выбирайте среди Linq-to-SQL (отличный, простой в использовании, гибкий, но только для SQL Server), EF v4 (выходит к марту 2010 - выглядит очень многообещающим, очень гибким) или любой другой ORM, на самом деле - все, что лучше всего соответствует вашим потребностям.

Другие серьезные конкуренты в области ORM могут включать Subsonic 3.0 и NHibernate (среди многих других).

Итак, чтобы подвести итог:

  • забудьте о наборах данных
  • , либо у вас есть 100% контроль, и для сопоставления между SQL и вашими объектами сами
  • вы позволяете некоторому способному ORM обрабатывать это (Linq-to-SQL, EF v4, Subsonic, NHibernate et al) - какой из них действительно не имеет большого значения, т.е. это также вопрос личных предпочтений и стиля кодирования
12
ответ дан 1 December 2019 в 23:32
поделиться

Хотя EF работает с WCF и звучит очень многообещающе, вам следует подумать о том, как ускорить его. Особенно при выполнении некоторых нетривиальных вещей дизайнер в VS2008 больше не может открывать модель, и вам придется кодировать модель в xml.

Также имейте в виду, что EF работает на очень высоком уровне абстракции. Из-за закона дырявых абстракций все не так блестяще, как должно быть :) С другой стороны, это означает, что вам придется иметь дело с очень сумасшедшими и трудночитаемыми операторами sql, отправляемыми в вашу базу данных, когда дело доходит до устранения неполадок / проблем с производительностью.

2
ответ дан 1 December 2019 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: