В настоящее время я работаю над локальным приложением, имеющим доступ к SQL Server 2008 Express. То, что я сделал, это создать класс, который управляет всеми правами доступа и действиями по базе данных (например, INSERT, DELETE и т. Д.), Но класс становится действительно большим и имеет не менее 40 методов. Поэтому мой вопрос: есть ли способ реорганизовать этот класс? или это нормально, чтобы быть таким?Refactor a C# Class
ответ
Вы можете попробовать этот ORM библиотеку для .NET:
- BLToolkit -> это довольно простая библиотека, чтобы начать играть с ОРМ, очень легко начать с
- Linq2SQL -> Этого libary мертвым проект, Microsoft перестала его развивать, и я думаю, что не рекомендуется использовать «мертвую» технологию
- Entity Framework -> хороший момент для начала, имеет и легкий мастер для создания исходной модели с необходимыми сопоставлениями таблиц (просто установите его и создать «Новый проект объекта», мастер поможет вам создать ваши первые сопоставления)
- NHibernate -> его в некий «монстр» отображение ORM библиотеки, немного сложнее, но один из самых современных библиотек на рынке .NET ORM
Да, это называется слоем Object-Relational-Mapping или ORM для краткости.
В частности, я бы рекомендовал взглянуть на Linq To SQL, так как это простое введение. Вы в значительной степени добавляете новый объект «Linq to SQL Classes» из Add->New Item->Data
(назовем его DB.dbml), перейдите к View->Server Explorer
(укажите свои настройки SQL-сервера), перетащите ваши таблицы SQL в окно конструктора, выполните сборку, а затем сможете получить доступ к своим базы данных, такие как объекты в коде:
DBDataContext db = new DBDataContext();
var cars = db.Cars.Where(c => c.Name == "Ford Falcon");
Nhibernate является также хороший вариант для ORM .Net –
Linq to Entities сделает для вас все самое интересное. Вы считали этот вариант?
В противном случае кажется, что большинство людей составляют 1 класс за таблицу, а более сложное управление отношениями обычно обрабатывается в уровне бизнес-логики.
Linq to Entities против Linq to SQL: http://dotnetaddict.dotnetdevelopersjournal.com/adoef_vs_linqsql.htm – Steve
- 1. Code Refactor Class Pattern
- 2. Код refactor - make class
- 3. refactor a ruby method
- 4. C# return a class
- 5. C++ redefine a class
- 6. Downcasting a class C++
- 7. Refactor a Looping SQL Insert
- 8. .class a: hover vs .class: hover a
- 9. Howto refactor grow class in php?
- 10. Refactor переименовать в C
- 11. Refactor C# Применение
- 12. A Repository Factory Class
- 13. mocking a class - iOS
- 14. Предоставление подменю a class
- 15. pseudo class a: focus
- 16. Jade template a class
- 17. Возвращение Set [Class [A]] по [Set Class [_]]
- 18. Запись из Viewcontroller vs A Class Class
- 19. Fixing a youtube downloader class
- 20. A: link supersedes .class A: link?
- 21. Код Refactor C# (помогите улучшить)
- 22. Методы построения insde a class
- 23. Trigger a class при загрузке
- 24. a super class accessibilty объекта
- 25. Symfony2 Forms Without a Class
- 26. Grails test a Factory class
- 27. C/Objective-C: Refactor array assginment
- 28. Parse/Refactor C# через код C#
- 29. C++ matrix class class slice
- 30. cython - wrap a cpp class aggregating other
http://www.nhforge.org/ – griZZZly8