linq到sql-在C#ASP.NET程序中有多个上下文是可以的

本文关键字:上下文 sql- C#ASP 程序 NET linq | 更新日期: 2023-09-27 17:57:49

我在一个使用WebForms的大项目中,我希望使用LINQ to SQL,但因为如果我将所有内容添加到该模型中(此外,我仍然使用标准SQL),它在VS中会变得很慢,所以可以用于多个上下文吗?

编辑:我想说的是…我在数据库中有将近100个表,我不能把它们都添加到一个上下文中,因为我仍然经常使用原始sql。。所以我认为我可以把整个事情分开,并根据操作创建许多上下文。因此,如果我必须添加评估表单,那么上下文将与所有与评估表单相关的表交互。

THanks。

linq到sql-在C#ASP.NET程序中有多个上下文是可以的

如果在db模式中有逻辑分离,那么有多个上下文是有意义的。L2S也不会阻止您使用原始sql,更重要的是,您可以使用上下文的连接并利用它的方法来执行sql查询。还可以使用L2S 映射SP

拥有多个上下文的另一个警告是,您将无法轻松地在上下文之间传递对象。在您的情况下,我更喜欢将EF与POCO一起使用(甚至可能是新的代码优先方法),使用它可以将对象从一个上下文传递到另一个上下文,否则您需要使用某种对象到对象的映射

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);

阅读本文DataContext.ExecuteCommand Method

p>我不确定你在问什么,但一般来说,你不需要多个上下文。