Available Ready .NET Systems

Well, I just collected some experience from the Guru in this publication. I am still a student and an intermediate.

Now the question is which ORM and Business Objects framework should be chosen from the ready-made products available today (for example, LINQ, Entity Framework, CSLA.net, Spring.net, NHibernate, Enterprise Lib) and why

Should I upgrade to Open-Source or Proprietary?

Note. I am trying to learn one or more ORMs and business object frameworks for my future career.

0
source share
5 answers

JMSA,

As already indicated in the answers received, different structures turn to different solutions of reality.

Thus, I understand your curiosity. As Johnny D. said, Linq is not a platform, but a subset of .net technology. You can work with it even if you are not using any of the other frameworks you mentioned.

OpenSource or property? As far as I know, I prefer OpenSource. There are so many people who contribute to these projects around the world that you can have the support needed by those who are still using the same OpenSource product as you. The price of proprietary products! Anyway, the best way is to understand how the structure works so that you can use it to the full. Depending on your employer, some prefer OpenSource, while others prefer proprietary.

What framework to choose? This is a good question for the skill you are talking about.

In my humble point of view, I really like the Microsoft Enterprise Library, which is the foundation of OpenSource for any project you are working on. For example, most of the programs you write will require a database connection or so. The corporate library through its DAAB (Data Access Application Block) provides a set of tools out of the box that will allow you to create systems with several databases without changing or recompiling the code, but simply by configuration. The corporate library was invited by Microsoft to support companies such as IBM, HP and other large companies, which we could even ignore. So, when it comes to connecting to the database, I use the Enterrise library. I even built my own Framework based on this, to even facilitate the process of connecting to the database without worrying about the syntax.

As for NHibernate, as you mentioned, this is an integration structure that helps you map your logical objects to your relational data tables in your database. Frames like the Entity Framework do the same. Except that the Entity Framework, as far as I know, is ONLY for SQL Server. If you are developing a system for an Oracle database, the Entity Framework will not provide you with the tools you need, unless I ignore the additional support for more database modules. NHibernate's advantage is that it is compatible with any database engine in the world. I even know that NHibernate allows you to write your code exclusively in object-oriented programming, and when it is time to save your objects, NHibernate can create a database schema for your proper database engine without having to write a DSL (data structure language) statement

I speak for myself when I say that I prefer to use NHibernate with the corporate library as OpenSource products.

Hope this helps and illuminates you a bit. But first, learn the basics of object-oriented programming, otherwise it will be difficult for you to learn how to use these tools.

Take care !:-)

+2
source

If you are still a beginner and learn .net, I suggest you do it yourself until you learn the basics. Learn about different frameworks later, check them out in several projects so that you can learn about the good and bad things about each of them.

+6
source

I assume that this largely depends on the use of these technologies and structures.

I saw how LINQ and NHibernate work very well together, with NHibernate providing an abstraction from the database, and LINQ is used to represent business / query logic.

And spring.net is useful if you need to do dependency injection.

If you are just starting to work with .Net, I would suggest first taking on the main libraries and understanding how you can interact with a database or data warehouse without additional external frameworks.

+2
source

just pick one and focus on it ...

For a career, structure does not matter like the ability to pick the basics. It seems you might be a little ahead of yourself. First you need to learn the basics that almost all OO languages ​​use. Things like encapsulation, recursion, etc. There are certain language implementations of the basics, so just pick one, learn the basics and then expand.

+2
source

As a beginner:

I would go for the most votes and choose what most programmers use. Since you don't have a link, I would go with Googling and look in the support forums, like this one.

From my experience:

  • Exception Blocks, Ms EL
  • OR / M, EF or NHibernate are the most used.
  • Logging: MS EL, Log4net most used
  • Injection Dependency, Ms EL Unity and spring.net
  • Caching MS EL and spring.net most used
  • LINQ and lambda are tools YOU NEED A MASTER, including PLINQ

I would also learn Unit Tests and advanced DataBinding, as well as Events and Delegates. MVC has also been growing in popularity lately

From my experience, this is what most novice programmers need to hack in the real world :)

Good luck.

0
source

All Articles