asp.net-mvc – 为“简单”SaaS启动选择ORM(ASP.NET MVC)
我即将开始开发基于网络的应用程序,我可以将其描述为37Signal高层联系管理应用程序的专用版本,针对草坪护理等服务业务.我决定使用ASP.NET MVC来利用我的BizSpark成员资格并利用我已经知道的C#/ ASP.NET / SQL Server.
我正在做一些研究,为项目选择ORM;我不确定我是否应该使用LINQ to SQL之类的轻量级东西,或者使用NHibernate的大枪.在这一点上,我并不认为应用程序过于复杂.我基本上有这些模型: >帐户 适用以下业务规则的地方: >该帐户是主记录(因为它代表订阅者),其他所有内容(用户,客户,作业)都将其挂起 我有一个习惯于尝试overarchitect的坏习惯. LINQ to SQL似乎可以立即满足我的需求,但我担心未来的可扩展性以及使用功能更丰富的ORM(如Entity Framework或NHibernate)的前期成本是否会在查询效率和优化.我正在考虑使用Windows Azure来托管应用程序. 有什么想法吗? 解决方法
您的模型看起来很简单,可以得到Linq2Sql,Entity Framework和NHibernate的支持.
您需要做的最大选择是您希望遵循域驱动设计方法进行软件建模,还是希望将对象作为数据库行使用.如果您希望在将行映射到对象时获得乐趣,那么NHibernate是最佳选择.如果您对业务对象和数据库行Linq2Sql和Entity Framework之间的1:1感到满意就好了. NHibernate和一定程度上,Entity Framework支持不从基类继承的POCO对象,并且可能不知道它们的持久性要求. Linq2Sql可以,但它的hacky和怪异. 至于扩展,所有这三个ORM工具都会让你走得很远AFAIK NHibernate在分割数据库服务器和处理跨数据库ID方面有更多选择,甚至还有一些Sharding支持正在进行中. NHibernate也支持大多数提供者,你可以在一小时内从MSSql转到MySql,用Linq2Sql和EF(虽然支持即将到来你不能) 所以TL; DR: > NHibernate如果你想要更好的POCO支持,更多的缩放功能,以及“有一个映射”行 – >对象映射功能. FluentNHibernate很棒.您有多个提供商支持 我已经使用了所有这三个并且我对EF1最不满意,EF4更好但不如NHibernate好. 我正在将VS4与VS 2010一起用于所有未来的“简单CRUD”应用程序和NHibernate,当我需要得到它的时候. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 我可以通过编程方式从我的ASP.NET应用程序向IIS7中的动态IP
- asp.net core 系列 5 MVC框架路由(上)
- asp.net-mvc – Telerik MVC Chart ClientEvents.OnDataBin
- ASP.NET:如何更改每行中使用的itemTemplate?
- asp.net – 将样式应用于CheckBoxList中的ListItems
- asp.net-mvc – 为什么应该使用HTTP POST或DELETE而不是GET
- asp.net-web-api – 我什么时候应该在Web api中使用HttpReq
- ASP.NET和会话 – 新的浏览器实例与新的浏览器窗口
- 有没有办法将一个onclick事件添加到ASP.NET标签服务器控件?
- asp.net – MapRoute和MapPageRoute有什么区别?
- asp.net-mvc – 如何创建安装文件来安装MVC .net
- 在IIS7上运行ASP.NET 1.1的错误(applicationHost
- asp.net-mvc – ASP.NET MVC编辑器 – 模板/ UIH
- asp.net-mvc-3 – 如何实现MVC3模型URL验证?
- asp.net – ReportViewer阻止其他功能,直到报告查
- asp.net – 如何创建一个.ICS文件与多个VEVENT导
- 在ASP.NET中管理实体框架ObjectContext
- asp.net – 如何从Visual Studio 2010 SP1运行时
- asp.net – 在Visual Studio编辑器中配置<%%>块
- wcf – .Net Core ReportExecutionServiceSoapCl