是一个命名空间,但用作'类型'

时间:2014-05-10 16:09:59

标签: c#

更新

我再次创建了解决方案。

File > New > Project > VisualC# > Console Application

Name : teststudent
Solution name : teststudent

然后从解决方案探索者点击了teststudent

Add > New Item > ADO.Net Entity Data Model > Generate from database

新连接:

save entity connection settings in App.Config as :

teststudententities

您想使用哪个版本的Entity Framework?

6.0

然后我检查了所有表格。

Model Namespace:
teststudentModel

更新结束

我正在尝试创建一个查询,以显示Visual Studio 2013中名为students的数据库表中的所有记录。 studentdb是我的数据库的名称。我已建立与SQL Server数据库的连接。我可以在解决方案资源管理器中看到模型中的表格。当我执行时,我得到一个构建错误:

'studentdb' is a 'namespace' but is used like a 'type'

program.cs文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

    namespace studentdb
    {
        class Program
        {
            static void Main(string[] args)
            {
                Query1();
            }
            private static void Query1()
            {
                using (var context = new studentdb())
                {
                    var students = from studentdetails in context.students select studentdetails;
                    Console.WriteLine(" Query All students");
                    foreach (var student in students)
                    {
                        Console.WriteLine("{0} {1}", student.studentid, student.surname);
                    }
                    Console.Write("Press enter to exit"); Console.ReadLine();
                }
            }
        }
    }

3 个答案:

答案 0 :(得分:3)

只需将命名空间重命名为第7行的其他内容

namespace anotherNamespace
{

答案 1 :(得分:0)

您的命名空间和其中一个类名相同

namespace studentdb
using (var context = new studentdb())

我认为你的意思是var context = new studententities()或类似的东西而不是studentdb()

答案 2 :(得分:0)

studentdb是同一名称空间的名称。所以你不能像 studentdb()那样使用它。您只能为而不是名称空间创建对象