我正在使用WebForms的一个大项目,我希望使用LINQ TO SQL但是因为如果我将所有内容添加到该模型中,它会在VS中变慢(此外我仍然使用标准SQL),多个上下文可以吗?
编辑: 我说的是..我在数据库中有近100个表,我不能将它们全部添加到一个上下文中,因为我仍然使用原始sql很多..所以我虽然我可以分离整个事情并创建许多上下文基于操作。因此,如果我必须添加评估表单,那么上下文将与所有与评估表单相关的表进行交互。
感谢。
答案 0 :(得分:2)
如果在db模式中有逻辑分离,则有多个上下文是有意义的。 此外,L2S不会阻止您使用原始SQL,甚至更多,您可以使用上下文的连接并利用它的方法来执行SQL查询。 您也可以使用L2S映射SP
具有多个上下文的另一个警告是,您将无法轻松地在上下文之间传递对象。在你的情况下,我更喜欢使用EF与POCO(可能甚至是新到达的代码第一种方法),使用它你将能够将对象从一个上下文传递到另一个上下文,否则你需要使用某种Object-to - 对象映射
UPD:这就是如何将LINQ2SQL与原始sql一起使用:
db.ExecuteQuery<Customer>("select * from dbo.Customers where City = {0}", "London");
db.ExecuteCommand("UPDATE Products SET QuantityPerUnit = {0} WHERE ProductID = {1}", "24 boxes", 5);
答案 1 :(得分:-1)
我不确定你在问什么,但一般来说,你不需要多个上下文。