2014-09-04 52 views
0

我有一個名爲Personel的數據庫中的表,並且字段名稱是: ID,名稱,姓氏,薪金和職位。我創建了一個擴展DataContext然後創建具有屬性的列的類。然後我已經在這堂課中嘗試過了。但我在下面得到這個例外。字段名稱和值正確我不知道此錯誤是什麼我不能讓這個類可枚舉

指定的轉換無效。

這是我的課

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

在哪條線路到底如何? – 2014-09-04 11:29:32

回答

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

我的錯Marc非常感謝你 – 2014-09-04 11:57:26