2014-09-04 4 views
0

У меня есть таблица в db с именем Personel, а имена полей: Id, Name, LastName, Salary и Position.I создал класс, который расширяет , затем создает столбцы со свойствами. Я пробовал итерацию в этом классе. Но я получаю это исключение ниже. Имена полей и значения верны. Я не знаю, что это за ошибка.Я не могу сделать этот класс перечислимым

Указанный приказ недействителен.

это мой класс

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(); 
     } 
    } 
+4

На какой строке точно? –

ответ

3
[Column (Name="Name",Storage="_name",DbType="Int not null identity")] 
public string Name 
{ 
    get { return _name; } 
    set { _name = value; } 
} 

Посмотрите трудно. Что такое dbtype? Теперь, что должно это будет? Я предполагаю nvarchar(200) not null или что-то подобное.

Также: ваши линии Console.WriteLine не будут работать; Вы могли бы означать одно из следующего:

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

или:

Console.WriteLine("Id:{0}", item.Name); 
+0

Моя вина Марка благодарна вам –

Смежные вопросы