2011-05-28 56 views
1

我在一个使用WebForms的大项目中,我希望使用LINQ TO SQL,但是如果我将所有内容添加到该模型(此外我仍然使用标准SQL),它会在VS中变得很慢,那么对于多个上下文可以吗?在C#ASP.NET程序中有多个上下文可以吗?

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

THanks。

回答

-1

我不确定你在问什么,但通常情况下,你不需要多于一个上下文。

+8

如果你不知道他在问,你怎么能提供一个答案? – 2011-05-28 17:40:32

+0

看看我更新的帖子。 – Rushino 2011-05-28 17:54:12

2

如果您在数据库模式中有逻辑分隔,那么拥有多个上下文将是有意义的。 此外,L2S不会阻止您使用原始的sql,甚至更多的是,您可以使用上下文的连接并利用它的方法来执行sql查询。 此外,您可以使用L2S映射SP0

有多个上下文的另一个警告是您不能轻松地在上下文之间传递对象。在你的情况下,我宁愿使用EF与POCO(可能甚至是新到达的代码第一种方法),使用它你可以将对象从一个上下文传递到另一个上下文,否则你需要使用某种Object-to -object映射

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

+0

该数据库是巨大的..从一开始,我们使用原始的SQL(这是一个错误的方法,这样的项目definitivly,但我们是在asp.net新)。我不想进入复杂的东西,因为我的时间很重要,但我认为我可以通过组建一个上下文并从现在开始构建它来节省时间。表格由表格代替自己制作课程。你仍然建议我使用EF还是应该坚持使用L2S? – Rushino 2011-05-29 14:29:39

+0

也从我知道..有一个表,不需要与其他表交互,以便可以组成一个上下文。 – Rushino 2011-05-29 14:30:09

+0

您可以使用EF并重新生成向其中添加新表的表单,唯一的问题是您需要在添加带有外键的表时添加所有相关表,否则您可能会遇到烦人的EF错误。 – vittore 2011-05-31 19:45:09

相关问题