Новичок в приложениях данных .NET здесь, из опыта Visual Foxpro.
Я планирую использовать ASP.NET и / или Silverlight UI, а также, возможно, некоторые клиентские приложения WPF для нашей локальной сети, поэтому я хочу создать слой доступа к данным, который может поддерживать все эти внешние интерфейсы.
Мои данные будут на сервере SQL. Я уже провел тестовый запуск передачи данных из Foxpro в SQL Server 2005. Все прошло хорошо. Это дало мне хранилище данных SQL-сервера для игры.
Теперь вот инструменты данных, с которыми я до сих пор играл, пытаясь ознакомиться с доступом к данным в .NET:
Я играл с Linq-To-Sql и создал тестовую форму, используя типизированные объекты и коллекции из L2S, а затем заполнил некоторые списки WPF и другие элементы управления пользовательского интерфейса. Это было круто. Линк это круто! WPF это круто. Смотрите скриншот формы здесь: http://twitpic.com/26w26/full
Я играл с тем, что, как мне кажется, вы бы назвали классическими ADO.Net DataSets. Человек, DataSets, похоже, много работы ...
SQLConncetion
SQLCommand
Набор данных
TableAdapter
... и что хуже всего, мне пришлось набирать код SQL в кавычках, абсолютно без помощи IDE, чтобы я не допустил ошибок при наборе текста или написания просто неверного кода SQL, и я должен был знать, имена столбцов из моей таблицы данных каждый раз. Много места для ошибок! И параметры запроса, блин.
Итак, позвольте мне спросить .... действительно ли сообщество разработчиков .NET работает с SQLCmds, DataSets и DataTables для чтения и записи данных? Это так работает?
Я знаю все об O / RM битвах там, и EF тоже.
Похоже, что вы можете подключить любой элемент управления пользовательского интерфейса из ASP.NET/Silverlight/WPF/ и WinForms к коллекции объектов (через OR / M) или DataSets / DataTables, верно? Это всегда выбор между одним из этих двух?
Итак, для меня пришло время принимать решения, но я не знаю, что выбрать. Кажется, все они работают, но эта чертова вещь из DataSet мне просто кажется пугающей, но, так или иначе, она также, кажется, широко используется.