Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql DataContext不';不存在于动态数据项目中?_Sql_Linq_Dynamic Data_Datacontext - Fatal编程技术网

Sql DataContext不';不存在于动态数据项目中?

Sql DataContext不';不存在于动态数据项目中?,sql,linq,dynamic-data,datacontext,Sql,Linq,Dynamic Data,Datacontext,这真的很烦人…我知道这是非常简单的事情。。。 1.我创建了一个新的动态数据项目。 2.我添加了一个LINQtoSQL类,并将一些表拖放到该类中。 3.我打开global.asax.vb并取消注释该行: DefaultModel.RegisterContext(GetType(YourDataContext),带有{.ScaffoldAllTables=True}的新ContextConfiguration()) 我删除了YourDataContext,并将其替换为我的LINQ to SQL类中的

这真的很烦人…我知道这是非常简单的事情。。。 1.我创建了一个新的动态数据项目。 2.我添加了一个LINQtoSQL类,并将一些表拖放到该类中。 3.我打开global.asax.vb并取消注释该行:
DefaultModel.RegisterContext(GetType(YourDataContext),带有{.ScaffoldAllTables=True}的新ContextConfiguration())
我删除了YourDataContext,并将其替换为我的LINQ to SQL类中的DataContext:
DefaultModel.RegisterContext(GetType(NorthwindDataContext),带有{.ScaffoldAllTables=True}的新ContextConfiguration())
然后,我尝试调试/构建/等,并收到以下错误: 未定义类型“NorthwindDataContext”
为什么没有定义?似乎它没有识别我创建的DBML文件。

您的项目编译了吗?我猜您缺少数据上下文的名称空间。大概是这样的:

model.RegisterContext(typeof(MyApp.MyNamespace.NorthwindDataContext), 
new ContextConfiguration() { ScaffoldAllTables = true });

你的项目编译吗?我猜您缺少数据上下文的名称空间。大概是这样的:

model.RegisterContext(typeof(MyApp.MyNamespace.NorthwindDataContext), 
new ContextConfiguration() { ScaffoldAllTables = true });

这是一个非常奇怪的问题,我仍然不确定我是否已经完全解决了这个问题。但是,以下是我认为我学到的: 1.如果要在VS2010中创建新项目,则必须将LINQ to SQL DBML文件放在根项目目录中。 2.如果要在VS2010中创建新网站,则必须将LINQ to SQL DBML文件放置在新创建的App_代码目录中。 3.如果您将其放置在错误的位置,请废弃该项目并重新开始-即使您将文件移动到正确的位置或在正确的位置重新创建它们,它似乎也不起作用。
Dave。

这是一个非常奇怪的问题,我仍然不确定我是否已经完全解决了这个问题。但是,以下是我认为我学到的: 1.如果要在VS2010中创建新项目,则必须将LINQ to SQL DBML文件放在根项目目录中。 2.如果要在VS2010中创建新网站,则必须将LINQ to SQL DBML文件放置在新创建的App_代码目录中。 3.如果您将其放置在错误的位置,请废弃该项目并重新开始-即使您将文件移动到正确的位置或在正确的位置重新创建它们,它似乎也不起作用。
戴夫。

看,这就是问题所在。我有这样一行代码:DefaultModel.RegisterContext(GetType(phonesDataContext),New ContextConfiguration(),带有{.ScaffoldAllTables=True}),但是…这会给出一个错误…但是我知道数据上下文存在!是否已将命名空间添加到datacontext?MyApp.MyNamespace.NorthwindDataContextSee,这就是问题所在。我有这样一行代码:DefaultModel.RegisterContext(GetType(phonesDataContext),New ContextConfiguration(),带有{.ScaffoldAllTables=True}),但是…这会给出一个错误…但是我知道数据上下文存在!是否已将命名空间添加到datacontext?MyApp.MyNamespace.NorthwindDataContextYour#1也让我大吃一惊。我认为最初这是因为我使用的是VS2012(不是问题),或者名称空间是错误的(myprojectnamespace.app_代码),但更改名称空间并没有解决任何问题。你的#1也让我大吃一惊。我认为最初这是因为我使用的是VS2012(不是问题),或者名称空间是错误的(myprojectnamespace.app_代码),但更改名称空间并没有解决任何问题。