首先,要明确一点,我不是在谈论 LINQ to SPRocs。
我有一个现有的 DAL,它使用了 100 多个存储过程。这是在该程序是 Web 应用程序时创建的。现在它是有时连接环境中使用本地数据库的 winform 应用程序。为了时间,我已将现有的 DAL 留在原处,但现在我发现
我的问题是在保留现有 DAL 的同时为我的程序创建一个 dbml(datacontext) 以继续前进,我应该注意哪些陷阱?
这将允许我以小步骤替换现有的 DAL。
首先,要明确一点,我不是在谈论 LINQ to SPRocs。
我有一个现有的 DAL,它使用了 100 多个存储过程。这是在该程序是 Web 应用程序时创建的。现在它是有时连接环境中使用本地数据库的 winform 应用程序。为了时间,我已将现有的 DAL 留在原处,但现在我发现
我的问题是在保留现有 DAL 的同时为我的程序创建一个 dbml(datacontext) 以继续前进,我应该注意哪些陷阱?
这将允许我以小步骤替换现有的 DAL。
据我所知没有。DataContext 可以被认为是另一个应用程序;假设您的数据库可以处理任意应用程序连接,前提是应用程序表现良好。Linq to SQL 在幕后使用标准 SQL 命令来完成其工作,并且知道诸如记录锁和事务之类的典型事情。我认为你的方法是合理的。
好吧,您需要注意的一个潜在缺陷是,如果您的 SProcs 之一修改了您的 LINQ DataContext 当前正在使用的对象的数据。
如果您有乐观并发锁定,最坏的情况是,LINQ 实体稍后无法更新(因为数据库中的基础值已在其“背后”更改)。
这真的不是一个大问题——无论如何你都必须处理这个问题(多个用户之间的并发)。除此之外,我没有看到任何问题。
马克