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
C# 我不能使这个类可枚举_C#_Linq - Fatal编程技术网

C# 我不能使这个类可枚举

C# 我不能使这个类可枚举,c#,linq,C#,Linq,我在数据库中有一个名为Personel的表,字段名为: Id、Name、LastName、Salary和Position。我创建了一个类,该类扩展了DataContext,然后创建了带有属性的列。然后我在这个类中尝试了itarate。但是我在下面遇到了这个异常。字段名称和值是正确的我不知道这是什么错误 指定的强制转换无效 这是我的课 public class PersonelDbContext:DataContext { public Table<Personel

我在数据库中有一个名为Personel的表,字段名为: Id、Name、LastName、Salary和Position。我创建了一个类,该类扩展了
DataContext
,然后创建了带有属性的列。然后我在这个类中尝试了itarate。但是我在下面遇到了这个异常。字段名称和值是正确的我不知道这是什么错误

指定的强制转换无效

这是我的课

  public  class PersonelDbContext:DataContext
    {
      public Table<Personel> Personel;
      public PersonelDbContext()
          : base("server=.\\sqlexpress;database=Project;User Id=sa;Password=1")
      {


      }

    }
[Table(Name="Personel")]
    public class Personel {
    private int _id;

    private string _name;


    private string _lastname;


    private int _salary;


    private string _position;



    [Column(Name="Id",Storage="_id",DbType="Int not null",IsPrimaryKey=true,IsDbGenerated=true)]

    public int ID
    {
        get { return _id; }
        set { _id = value; }
    }
    [Column (Name="Name",Storage="_name",DbType="Int not null identity")]
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
    [Column(Name="LastName",Storage="_lastname",DbType="Nvarchar not null")]
    public string Lastname
    {
        get { return _lastname; }
        set { _lastname = value; }
    }

     [Column(Name="Salary",Storage="_salary",DbType="Int not null")]
    public int Salary
    {
        get { return _salary; }
        set { _salary = value; }
    }

       [Column(Name="Position",Storage="_position",DbType="Nvarchar not null")]
     public string Position
     {
         get { return _position; }
         set { _position = value; }
     }
   }
//}

  static void Main(string[] args)
        {
            PersonelDbContext dbcontext = new PersonelDbContext();
            var query = from c in dbcontext.Personel select c;

            foreach (var item in query)
            {
                Console.WriteLine("Id:", item.Name);
                Console.WriteLine("Id:", item.Lastname);

            }
            Console.ReadKey();
        }
    }
public类PersonelDbContext:DataContext
{
公众餐桌人员;
公共人员ldbcontext()
:base(“服务器=。\\sqlexpress;数据库=项目;用户Id=sa;密码=1”)
{
}
}
[表(Name=“Personel”)]
公营人员{
私人内部id;
私有字符串\u名称;
私有字符串_lastname;
私人内部薪酬;
私有字符串位置;
[列(Name=“Id”,Storage=“\u Id”,DbType=“Int not null”,IsPrimaryKey=true,IsDbGenerated=true)]
公共整数ID
{
获取{return\u id;}
设置{u id=value;}
}
[列(Name=“Name”,Storage=“\u Name”,DbType=“Int not null identity”)]
公共字符串名
{
获取{return\u name;}
设置{u name=value;}
}
[列(Name=“LastName”,Storage=“\u LastName”,DbType=“Nvarchar not null”)]
公共字符串姓氏
{
获取{return\u lastname;}
设置{u lastname=value;}
}
[列(Name=“Salary”,Storage=“\u Salary”,DbType=“Int not null”)]
公共内部工资
{
获取{return\u salary;}
设置{u salary=value;}
}
[列(Name=“Position”,Storage=“\u Position”,DbType=“Nvarchar not null”)]
公共字符串位置
{
获取{return\u position;}
设置{u位置=值;}
}
}
//}
静态void Main(字符串[]参数)
{
PersonelDbContext dbcontext=新建PersonelDbContext();
var query=来自dbcontext中的c;
foreach(查询中的var项)
{
Console.WriteLine(“Id:,item.Name”);
Console.WriteLine(“Id:,item.Lastname”);
}
Console.ReadKey();
}
}
仔细看。数据库类型是什么?现在应该是什么?我猜nvarchar(200)不是空的或类似的

另外:您的
控制台.WriteLine
行无法工作;你可能指的是:

Console.WriteLine("Id:" + item.Name);
或:

仔细看。数据库类型是什么?现在应该是什么?我猜nvarchar(200)不是空的或类似的

另外:您的
控制台.WriteLine
行无法工作;你可能指的是:

Console.WriteLine("Id:" + item.Name);
或:

仔细看。数据库类型是什么?现在应该是什么?我猜nvarchar(200)不是空的或类似的

另外:您的
控制台.WriteLine
行无法工作;你可能指的是:

Console.WriteLine("Id:" + item.Name);
或:

仔细看。数据库类型是什么?现在应该是什么?我猜nvarchar(200)不是空的或类似的

另外:您的
控制台.WriteLine
行无法工作;你可能指的是:

Console.WriteLine("Id:" + item.Name);
或:


到底在哪一行?到底在哪一行?到底在哪一行?到底在哪一行?我的错Marc非常感谢Marc非常感谢Marc非常感谢Marc非常感谢Marc非常感谢