pages net mvc form example crear asp asp.net-mvc activerecord

form - ASP.NET MVC+ORM



razor pages asp net (7)

¿Necesita que el ORM sea gratis (como en la cerveza) / fuente abierta?

Si no lo hace, le recomiendo que eXpress Persistent Objects de DevExpress.

Si no, entonces no creo que LINQ sea similar, no he usado ActiveRecord desde Castle pero supongo que es el más similar a RoR

Estoy en el inicio de un proyecto que usa ASP.NET MVC y he comenzado a crear mis modelos. Como conozco algunos Ruby On Rails y me gustaría usar un sistema tan similar al registro activo de Rails como sea posible.

¿Alguien ha usado Castle Projects Active Record en una aplicación ASP.NET MVC (o cualquier aplicación que sea relevante) y tiene algo de experiencia para compartir?

¿Son MVC y Castle Active Record el camino correcto o sugieres que use LinqToSql en su lugar?

Por favor comparte cualquier pensamiento y experiencia que puedas tener.

Editar: para aclarar; Vengo de un largo historial ASP.NET y C # pero he mirado un poco a Rails y amo lo fácil que es crear el ORM


He usado Castle Active Record con ASP.NET MVC. Recomiendo encarecidamente este modelo, ya que ActiveRecord / NHibernate son mucho más maduros que LINQ to SQL o Entity Framework.

Creo que ASP.NET MVC tiene un futuro brillante y lo recomendaría sobre Monorail para nuevos proyectos. Sin embargo, como dije, ActiveRecord es (en mi opinión) un ORM superior a LinqToSQL.


He usado Castle ActiveRecord con MonoRail y es bastante fácil de usar e intuitivo, aunque los problemas inevitables con los que te encuentres son a menudo difíciles de diagnosticar. Su documentación tampoco es la mejor (como ocurre con muchos proyectos de código abierto). De forma predeterminada, utiliza el NHM de NHibernate subyacente, y si fue específicamente después de utilizar un marco ORM, creo que ha habido algún esfuerzo para admitir LINQ con NHibernate, sin embargo, no tengo idea de qué tan lejos está.

Creo que también depende del tamaño de la aplicación, si es un proyecto rápido que no necesariamente se mantendrá en gran medida, la facilidad de uso de ActiveRecord puede ser útil, pero luego LINQ también parece bastante fácil y ordenado. Si fuera una aplicación más grande, consideraría rodar tu propia capa de datos usando NHibernate, nuevamente si es específicamente el ORM que deseas.


Linq to SQL tiene algunas piezas importantes que faltan, notables de muchas a muchas relaciones. Si va por la ruta "pura" de Microsoft, mire .net 3.5 sp1 y Linq a Entidades, que utiliza el nuevo Entity Framework de ADO.net.


Procedente de un fondo de Rails, Castle Project AR se sentirá más cerca de lo que está acostumbrado, pero Linq to SQL está mejor integrado con todo el ecosistema de Microsoft y puede descubrir que vale la pena el esfuerzo adicional para aprenderlo.


MVC no sabe qué ORM está utilizando, o incluso hay alguna herramienta ORM detrás. Controlador / Acción debe enviar referencias de objetos a Ver, para que ese objeto pueda ser simple int, matriz de cadenas, DataSet, objeto Linq, objeto ActiveRecord, lo que sea, no importa para ver cómo se llena un objeto con datos.


Prefiere NHibernate como capa de persistencia.