LinqDataSource DataContext对象未显示在配置数据源中

时间:2010-10-21 23:34:37

标签: datacontext linqdatasource

我在项目中添加了一个LinqToSQL类,并将其放在我的App_code文件夹中。

然后我将LinqDataSource添加到新网页并尝试将其配置为使用此类,但它不会在DataContext下拉列表中显示为选项。

我将类移到项目的根目录下,现在可以在DataContext下拉框中找到它。

我用1页创建了一个新项目并再次尝试,但仍然是一样的。如果该类不在我的根目录中,则它不可用。

我搜索了互联网,我找到的所有内容都表明该类应该在我的App_code文件夹中,但是如果我把它放在那里它就不起作用。

如果我将它放在App_code文件夹中,有没有人知道为什么该类不可用。

谢谢

2 个答案:

答案 0 :(得分:1)

  1. 在VS2010中打开您的.dbml文件,并确保其中只包含与您使用.dbml文件相关的表格。当我需要的只有一张时,我打开了我,发现我已经拿了3张桌子。
  2. 完成此操作后,在解决方案资源管理器中找到您的.dbml文件,然后展开它。
  3. 扩展中应该有两个文件:
    • <name-of-your-dbml-file>.dbml.layout
    • <name-of-your-dbml-file>.designer.cs
  4. 双击<name-of-your-dbml-file>.designer.cs将其打开。
  5. 记下此文件中的命名空间。
  6. 打开网页的代码隐藏页面(.aspx或.ascx文件)。
  7. 点击“来源”,然后添加using <the-name-space-from-step-four>
    1. 返回网页(不是代码隐藏)设计视图。
  8. 点击LinqDataSource
  9. 点击小箭头以显示LINQDataSource Tasks,然后点击Configure Data Source...
    1. 请确保取消选中Show only DataContext objects
    2. Choose your context object:下拉列表中查找我们在步骤4中记下的命名空间。
  10. 从那里你应该能够选择你的DataContext类并单击下一步。

答案 1 :(得分:0)

我创建了一个新的本地网站安装,然后在VS 2010中打开它,这次它看到了数据上下文。这意味着您必须先调试项目,然后才能看到数据上下文。