【发布时间】:2009-12-01 10:53:31
【问题描述】:
因此,我面临一个挑战,即构建一个在线用户可以用来与组织互动的网站。:Asp.NET MVC Customer Application
其中一项要求是财务处理和会计。
我很乐意使用 SQL 事务和存储过程来执行此操作;即 CreateCustomer 还创建一个实体和一个帐户记录。我们有一个存储过程来执行此操作,它执行开始事务,创建一些我们需要的设置记录,然后执行提交。我没有看到使用 ORM 的好方法,在阅读了一些很棒的 blog articles 之后,我开始怀疑我是否走错了路。
这里的部分复杂性在于数据本身:
我正在查询 x 个数据库(每个现有客户一个)以获取我的一些数据,尽管我的应用程序也有自己的数据存储。我需要查询 x 个数据库,在 x 个数据库上运行存储过程,以及我自己的数据存储。
我没有看到对存储过程和事务等事物的强大支持,尽管它似乎确实存在。
也许我只是想让我的应用程序在这里成为一个钉子,因为 MVC 锤子太闪亮了。当然,我对原始 ADO.NET 非常满意,但我爱上了用 C# 编写 Linq 代码的富有表现力的感觉,我不想放弃它。
直奔问题:
这是个坏主意吗?我应该尝试使用 Linq / Entity Framework 还是 nHibernate 之类的东西......并坚持使用 ORM 模式,还是应该丢弃它并使用原始 ADO.NET 数据访问?
编辑:音阶注释;从每秒查询的角度来看,这个应用程序不是“巨大的”。但是,从数据复杂性的角度来看,它确实需要查询 50 多个数据库(全部相同或接近)才能从外部应用程序读取数据并将数据发布回该应用程序。 ORM 在处理“我的”数据存储时感觉不错,但在从外部应用程序访问数据时感觉很不对。
【问题讨论】:
标签: asp.net asp.net-mvc orm linq-to-entities